gswang 发表于 2017-6-1 23:48:12

如何确定一个对象是否有属性?

在. NET中,如何确定对象是否有属性?比如lisp中的vlax-Property ty-able-p。
(vlax-Property ty-able-p obj'Thickness)
非常感谢!
**** Hidden Message *****

Atook 发表于 2017-6-2 00:09:47

从欧特克。
您可以检查 块表记录 中的 .HasAttributes.
如果是这样,您可以通过块引用访问它们。属性集合。

kdub 发表于 2017-6-2 00:37:19

由于属性附加到块...

gile 发表于 2017-6-2 01:25:26

您好,您可以使用反射:公共bool IsenableProperty(对象obj,字符串属性名称)=>。
obj.GetType(),获取属性(),任何(p=>p.Name==属性名称);。

gswang 发表于 2017-6-2 08:13:05

谢谢你,gile,
但是我不能编译成功,如何使用反射?

gile 发表于 2017-6-2 08:32:42

您必须添加一个使用System.Linq;指令,如果您不使用VS 2015 ou更高(C#6),请将代码更改为:public bool IsShareableProperty(对象obj,字符串属性名称)。
{。
返回obj.GetType(),GetProperties(),任何(p=>p.Name==属性名称);。
}。

gswang 发表于 2017-6-2 09:02:01

非常感谢你,吉尔。我成功了!

gswang 发表于 2017-6-5 16:08:11


不反对反射,它可能很有用,但在类型安全的环境中,更好的问题是询问对象是否实现了声明所需属性或方法的接口。
页: [1]
查看完整版本: 如何确定一个对象是否有属性?