| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Ошибка - Пространство имен не может напрямую включать в себя такие члены, как поля или методы

Ошибка - Пространство имен не может напрямую включать в себя такие члены, как поля или методы

Ответ
Поиск в этой теме
Непрочитано 05.09.2016, 22:31 #1
Ошибка - Пространство имен не может напрямую включать в себя такие члены, как поля или методы
Inferi
 
Регистрация: 14.05.2015
Сообщений: 33

Прошу подсказать почему при компиляции выдает ошибку "Пространство имен не может напрямую включать в себя такие члены, как поля или методы". Подчеркнуто название метода паблик войд mlinestyle()
Код:
[Выделить все]
 
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
[CommandMethod("mlinestyle")]
public void mlinestyle()
{
    Document doc = Application.DocumentManager.MdiActiveDocument;
    Editor editor = doc.Editor;
    Database db = doc.Database;
    using (Transaction Tx =
        db.TransactionManager.StartTransaction())
    {

        DBDictionary mlineDic =
            (DBDictionary)Tx.GetObject(db.MLStyleDictionaryId,
                                              OpenMode.ForRead);
        if (!mlineDic.Contains("TEST"))
        {
            mlineDic.UpgradeOpen();
            MlineStyle mlineStyle = new MlineStyle();
            mlineDic.SetAt("TEST", mlineStyle);
            Tx.AddNewlyCreatedDBObject(mlineStyle, true);

            mlineStyle.EndAngle = 3.14159 * 0.5;
            mlineStyle.StartAngle = 3.14159 * 0.5;
            mlineStyle.Name = "TEST";
            Autodesk.AutoCAD.Colors.Color Color;
            Color =
                Autodesk.AutoCAD.Colors.Color.FromRgb(255, 0, 0);

            MlineStyleElement element =
                    new MlineStyleElement(0.25,
                                        Color,
                                         db.Celtype);
            mlineStyle.Elements.Add(element, true);
            element =
                    new MlineStyleElement(-0.25,
                                        Color,
                                        db.Celtype);

            mlineStyle.Elements.Add(element, false);
        }

        Tx.Commit();
    }
}
Просмотров: 10618
 
Непрочитано 05.09.2016, 22:36
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Версия .NET? Версия ACAD? На каком конкретно месте вываливается ошибка?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.09.2016, 22:40
#3
Inferi


 
Регистрация: 14.05.2015
Сообщений: 33


.NET 4.5 Autocad 2016. Ошибка вываливается на этапе сборке решения.
Inferi вне форума  
 
Непрочитано 05.09.2016, 22:56
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Попробуй имя переменной задать не Color, а, например, oColor

----- добавлено через ~5 мин. -----
И почему у тебя CommandClass, а не CommandMethod? А почему функция не static?
P.S. Подозреваю, что описание пространства имен пропущено сознательно.

----- добавлено через ~8 мин. -----
Вот такой код сработал нормально:
Код:
[Выделить все]
 using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Colors;

namespace dwg.ru
{
  public static class cErr
    {
    [CommandMethod("dwgru_mlstyle")]
    public static void dwg_MLStyle()
    {
      Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
      Editor ed = doc.Editor;
      Database db = doc.Database;
      string sMLineStyleName = "TestStyle";
      using (Transaction tr = db.TransactionManager.StartTransaction())
      {
        DBDictionary dicMLStyle = (DBDictionary)tr.GetObject(db.MLStyleDictionaryId, OpenMode.ForRead);
        if (!dicMLStyle.Contains(sMLineStyleName))
        {
          dicMLStyle.UpgradeOpen();
          MlineStyle mlstyle = new MlineStyle();
          dicMLStyle.SetAt(sMLineStyleName, mlstyle);
          tr.AddNewlyCreatedDBObject(mlstyle, true);
          mlstyle.EndAngle = System.Math.PI * 0.5;
          mlstyle.StartAngle = System.Math.PI * 0.5;
          mlstyle.Name = sMLineStyleName;
          Color oColor;
          oColor = Color.FromRgb(255, 0, 0);
          MlineStyleElement elem = new MlineStyleElement(0.25, oColor, db.Celtype);
          mlstyle.Elements.Add(elem, true);
          elem = new MlineStyleElement(-0.25, oColor, db.Celtype);
          mlstyle.Elements.Add(elem, true);
        }
        tr.Commit();
      }
        return;
    }
    }
}
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.09.2016, 00:23
#5
Inferi


 
Регистрация: 14.05.2015
Сообщений: 33


Спасибо за помощь, в .NET только начинаю разбираться. С вашими исправлениями dll скомпилировал, все как надо
Inferi вне форума  
 
Непрочитано 06.09.2016, 08:15
#6
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Вот тут список с полезной литературой по поводу .NET: http://adn-cis.org/forum/index.php?topic=400.0

PS/
На месте компилятора, я бы тоже охренел и выдал бы такую же ошибку...
Boxa на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Ошибка - Пространство имен не может напрямую включать в себя такие члены, как поля или методы

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ACAD2010: Ошибка при печати: эта конфигурация не может быть использована (+) DOOM2 AutoCAD 18 28.08.2023 18:23
Ошибка при работе с чертежом. Кто может подскажите пожалуйста что делать! scheff AutoCAD 10 08.12.2011 22:57
В чем может быть ошибка, если расчет зависает на итерации? НенавидящийЛиру Лира / Лира-САПР 9 05.06.2011 23:24
в АSD не может перейти в другое пространство Russik Вертикальные решения на базе AutoCAD 2 28.04.2011 20:34
Ошибка винды при загрузке память не может быть read dextron3 Прочее. Программное обеспечение 7 18.09.2008 19:36