如何确定一个对象是否有属性?
在. NET中,如何确定对象是否有属性?比如lisp中的vlax-Property ty-able-p。(vlax-Property ty-able-p obj'Thickness)
非常感谢!
**** Hidden Message ***** 从欧特克。
您可以检查 块表记录 中的 .HasAttributes.
如果是这样,您可以通过块引用访问它们。属性集合。 由于属性附加到块...
您好,您可以使用反射:公共bool IsenableProperty(对象obj,字符串属性名称)=>。
obj.GetType(),获取属性(),任何(p=>p.Name==属性名称);。
谢谢你,gile,
但是我不能编译成功,如何使用反射?
您必须添加一个使用System.Linq;指令,如果您不使用VS 2015 ou更高(C#6),请将代码更改为:public bool IsShareableProperty(对象obj,字符串属性名称)。
{。
返回obj.GetType(),GetProperties(),任何(p=>p.Name==属性名称);。
}。
非常感谢你,吉尔。我成功了!
不反对反射,它可能很有用,但在类型安全的环境中,更好的问题是询问对象是否实现了声明所需属性或方法的接口。
页:
[1]