Expression.PropertyOrField
expression
参数的文档说明静态成员可以是null
:
Type
包含名为propertyOrFieldName
的属性或字段的表达式。 对于静态成员,这可以是null
(强调我的)
但是,每当我通过null
时,我都会获得ArgumentNullException
。
答案 0 :(得分:6)
这种方法的文档是矛盾的:
expression
参数的文档说明静态成员可以是null
ArgumentNullException
为expression
null
的文档会说明它被抛出
事实:
此方法不能用于访问静态成员,expression
参数的文档不正确
即使提供了具有正确Type
的表达式,此方法也无法按预期工作,因为它只查找实例成员。
要访问静态字段或属性,请改用Expression.MakeMemberAccess
。