优化CAD中 .NET加载程序
-
在AutoCAD中加载一个托管应用程序,查询应用程序集的ExtensionApplication自定义属性。如果此属性被发现, AutoCAD中设置属性的相关类型的应用程序的入口点。如果没有这样的属性发现,自动搜索所有类型的出口IExtensionApplication执行。如果没有执行发现, AutoCAD的只是跳过特定应用的初始化步骤。
-
除了寻找一种IExtensionApplication执行, AutoCAD的查询应用程序的大会的一个或多个CommandClass属性。如果此属性的实例发现,自动搜索只及其相关类型的指挥方法。否则,搜索所有出口类型。
C#:
[assembly: ExtensionApplication(typeof(InitClass))]
[assembly: CommandClass(typeof(CmdClass))]
C#:
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using System;
[assembly:
ExtensionApplication(
typeof(ManagedApplication.Initialization)
)
]
[assembly:
CommandClass(
typeof(ManagedApplication.Commands)
)
]
namespace ManagedApplication
{
public class Initialization
: Autodesk.AutoCAD.Runtime.IExtensionApplication
{
public void Initialize()
{
Editor ed =
Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("初始化.");
}
public void Terminate()
{
Console.WriteLine("清理");
}
}
public class Commands
{
[CommandMethod("TST")]
public void Test()
{
Editor ed =
Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("这是一个 TST 命令.");
}
}
}