Здравствуйте, Уважаемые форумчане.
Начну несколько отвлеченно - с аналогии C# и Java (просто с Java всегда C# сравнивают, а с Java я хоть как-то знаком).
В Java всё просто (касательно тог, о чем пойдет речь дальше):
1. Создаем файл any_class.java
public class any_class{
public static void main (Strings[] args){ // собственно точка входа в программу
// собственно код
}
public static int any_method (){ модификаторы и типы аргументов, естественно могут быть разные
// код метода
}
}
2. выполняем
> javac any_class.java
3. получаем any_class.class. пишем
java any_class
мог, конечно, что-нибудь немного напутать, на память, но суть такова.
Причем здесь java? - спросите Вы.
C# очень часто сравнивают именно с Java и значит аналогия уместна.
Теперь вопрос именно по C# и AutoCAD (можно, конечно, пытаться читать официальную документацию, но там, в документации не всё так гладко):
Можно аналогично расписать шаги для C# и AutoCAD?
Насколько я понял, конструкция namespace x { } - необязатльна (по аналогии с С++). Может это надо МЫ для организации проекта - не уверен...
1. Пишем класс
using Autodesk.AutoCAD.Runtime;
// using Autodesk.AutoCAD.ApplicationServices; - это не нужно, я так понял
using Autodesk.AutoCAD.ApplicationServices.Core; // в этом пространстве находится Application->Document->... по-сути, вся иерархия объектов
using Autodesk.AutoCAD.DatabaseServices;
public class myclass {
public static void main () {} // в случае с автокадом оно надо?
[CommandMethod("ListEntities")] // это, я так понял, команда, которая будет использоваться в командной строке автокада
public static void ListEntities(){
// тут, собственно, код метода ListEntities
}
[CommandMethod("ListEntities_2")] // а вот так можно делать? можно несколько команд в одном классе или одна команда [CommandMethod("xxx")] - один класс (файл)?
public static void ListEntities(){
// тут, собственно, код метода ListEntities_2
}
}
2. как-то это компилируем
???
3. получаем файл ... какого-то расширения (что мы в C# должны получить? .exe, .dll ...)
4. командой NETLOAD грузим то, что получилось в консоли автокада и получаем возможность выполнить команду
ListEntities
а может и
ListEntities_2
Правильно я себе всё это домыслил или нет?
пункты 2, 3 относятся к VS и C#