首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GetProperty("pname")返回null

GetProperty("pname")返回null
EN

Stack Overflow用户
提问于 2012-02-22 17:20:33
回答 8查看 25.7K关注 0票数 24

我想要获取动态对象的动态属性的值。这是我的代码..

代码语言:javascript
复制
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();
}
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-02-22 17:25:54

我的猜测是,要么它不是公共属性,要么你把名字弄错了,要么它根本不是一个属性(而是一个公共字段)。

在不知道实际类型的情况下不可能说更多,但这应该是一个开始。

您提到这是一个“动态对象”,但这并不是非常具有描述性。请记住,CLR本身对DLR一无所知-如果你的意思是这是一个实现IDynamicMetaObjectProvider或扩展DynamicObject的类型,那么你将无法获得像这样的“正常”反射的属性。

票数 37
EN

Stack Overflow用户

发布于 2016-01-20 19:34:13

在我的例子中,ob没有正确的pr getter setter

代码语言:javascript
复制
//causes GetProperty to return null
public class MyClass{
    public object pr;
}

//Works
public class MyClass{
    public object pr { get; set; }
}
票数 9
EN

Stack Overflow用户

发布于 2017-11-30 22:16:29

在我的例子中,我必须定义get和set。请参阅上面的帖子

代码语言:javascript
复制
public string MyPropertyName { get; set; }

在此之后,我可以通过以下方式获取属性:

代码语言:javascript
复制
typeof(MyClassItem).GetProperty("PropertyName")
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9392027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档