返回错误信息是:NullReferenceException!
ssetObj.Item(x)这里确实是得到一个实体,而我可以得到它的句柄,这个句柄确实也是那个引用块的句柄,我都比较了,但是把这个实体转换成引用块的时候,得到的是一个object类型的,我也判断了这个object!=null,但是一旦使用它,就抛出NullReferenceException!怎么办呢?

解决方案 »

  1.   

    ssetObj.Item(x)得到的是一个Acad.Entity类的实体,根据这实体确实可以得到它的句柄,这句柄也正是那个图块的句柄,但Acad.Entity类里没有实体坐标的属性,所以我把这实体转换成引用块类型的实体,即:AutoCAD.AcadBlockReference refblock=(AcadBlockReference)ssetObj.Item(x);这样在refblock中才有InsertionPoint属性,但是运行在这行出错:object point=refblock.InsertionPoint
    抛出的异常是:NullReferenceException “未将对象引用设置到对象实例”,大家帮帮我吧,快急死了!
      

  2.   

    是否应该如下:     AutoCAD.AcadBlockReference refblock =
             (AutoCAD.AcadBlockReference)ssetObj[x];
    我怀疑那个 Item 是索引属性,在 C# 正确的写法应该用 [ ]。
    我也是猜猜的。