![](/img/trans.png)
[英]how can implement value getter by Expression.Lambda<Func<T,propertyInfo.DeclaringType>>
[英]Can PropertyInfo.DeclaringType really ever be null?
我正在使用 ReSharper(旧版本),它曾经在我使用PropertyInfo.DeclaringType
时警告我它可以是null
。
乍一看和第二眼,这对我来说没有意义。 是真的吗,还是 ReSharper 有点笨,没有注意到它是PropertyInfo
,而不是一般MemberInfo
?
PropertyInfo.DeclaringType
属性继承自MemberInfo.DeclaringType
和文档:
如果
MemberInfo
对象是全局成员(即,如果它是从Module.GetMethods
方法获得的,该方法返回模块的全局方法),则返回的DeclaringType
将为null
。
因此,在这种情况下,警告似乎没问题。
如果属性是在模块中定义的,则它可以为null
。 在 C# 中,您不能在没有反射的情况下定义此类方法和属性(请参阅PropertyBuilder
)。 但是,如果您引用 VB.NET 程序集,则它可以具有此类成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.