C# 将C对象存储到AutoCAD图元中';X唱片公司

C# 将C对象存储到AutoCAD图元中';X唱片公司,c#,autocad-plugin,C#,Autocad Plugin,我试图找到一种方法,将C#类作为XRecord存储到AutoCAD实体中。例如,我有以下课程: public class ExampleClass { private int x; private int y; public ExampleClass(int x, int y) { this.x = x; this.y = y; } #region Getters and Setters } 我创建了它的一

我试图找到一种方法,将C#类作为XRecord存储到AutoCAD实体中。例如,我有以下课程:

public class ExampleClass
{
    private int x;
    private int y;

    public ExampleClass(int x, int y)
    {
         this.x = x;
         this.y = y;
    }

    #region Getters and Setters
}
我创建了它的一个实例:

ExampleClass objToStoreInXRecord = new ExampleClass(3, 5);
将其存储到AutoCAD图元(例如图形中的一条线)XRecord中的最佳方法是什么,以便我可以执行以下操作:

ExampleClass objRecoveredFromXRecord = GetXRecordFromEntity(Entity e)
其中GetXRecordFromEntity(Entity e)是我可以编写的一个助手方法,它接受一个实体e,获取我先前存储的对象的XRecord,并返回它


我对XRecord的工作原理以及XRecord与AutoCAD命名对象词典(NOD)的关系没有很好的理解。其中,要存储在XRecord中的对象使用二进制格式化程序进行序列化,序列化数据存储在实体的XRecord中,但我正在寻找更好的方法。

序列化对象并将其添加到XRecord中。它工作得非常完美。

AutoCAD中不支持使用.NET序列化,这意味着其他应用程序无法理解

在Autodesk论坛上查看此讨论,它可能会澄清我的意思。此外,还有一个小代码段


对于使用二进制格式化程序进行序列化,您不喜欢的是什么?如果问题是因为它是二进制的,那么可以将其序列化为Json或XML?我使用整个类层次结构,希望避免将它们都标记为可序列化的