c# - GetProperty ("pname") 返回 null

标签 c# asp.net

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

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/

相关文章:

c# - JSON 自动完成,不显示结果

c# - WindowChrome - 无法单击标题栏中的按钮

asp.net - 使用 Response.Redirect() 到相对路径

asp.net - WebClient DownloadStringCompleted 从未在控制台应用程序中触发

c# - 使用实体服务/存储库模式时,在模型中引用 System.Web.Security 是一种不好的做法吗?

c# - Entity Framework 代码优先 - 列 ID 无效

c# - LINQ 相当于 Seq.scan

c# - Entity Framework 中的 'in' 谓词

c# - 非常简单的代码编译但在执行时抛出 TypeLoadException

c# - MVC knockout 数据绑定(bind)