我想获取动态对象的动态属性的值。 这是我的代码..
public string ReturnProperty(object ob, string prop)
{
Type type = ob.GetType();
PropertyInfo pr = type.GetProperty(prop);
//Here pr is null..Dont know whats wrong
return pr.GetValue(ob, null).ToString();
}
最佳答案
我的猜测是它不是公共(public)属性(property),或者你把名字弄错了,或者它根本不是属性(property)(而是公共(public)领域)。
如果不知道实际类型是什么,就不可能说更多,但这应该是一个开始。
您提到这是一个“动态对象”,但这并不是真正的描述性的。请记住,CLR 本身对 DLR 一无所知 - 如果您的意思是这是一种实现 IDynamicMetaObjectProvider
或扩展 DynamicObject
的类型,那么您将不会能够像这样获得具有“正常”反射的属性。
关于c# - GetProperty ("pname") 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392027/