c# - 将 C# 对象存储到 AutoCAD 实体的 XRecord 中

标签 c# autocad-plugin

我正在尝试找到一种方法,将 C# 类作为 XRecord 存储到 AutoCAD 实体中。例如,我有以下类(class):

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) 的关系。 I've seen implementations要存储在 XRecord 中的对象使用二进制格式化程序序列化,序列化数据存储在实体的 XRecord 中,但我正在寻找更好的方法。

最佳答案

序列化对象并将其添加到 xrecord。效果很好。

关于c# - 将 C# 对象存储到 AutoCAD 实体的 XRecord 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637281/

相关文章:

c# - JSON.NET 反序列化为带有 Type 参数的对象

c# - AutoCAD 插件无法定位资源

控制 AutoCAD 相机的 C# 代码

powershell - 这些函数定义不一样吗?

c# - 这 2 个 LINQ 连接查询实现相同的效果吗

c# - 使用 Json.NET 从 JSON 文件获取数据并使用 T4 文本模板创建 c-sharp 文件

c# - 格式字符串——左右填充双

c# - 将 JsonMediaTypeFormatter 应用于 Json

c# - 有没有办法使用 C# 获取 autocad (.dwg) 中的所有多段线?

c# - 获取运行 Windows 窗体控件的应用程序