Expression exp1 = new EqualsExpression(SearchContentProperty.Language, 1033);
我需要在反思中做到这一点,你能帮我吗
public class SearchContentProperty
{
public static IntegerPropertyExpression Language { get; }
}
在反射中,我能够获得属性,但它的基本类型是System.Reflection.MethodInfo
。
因此,我无法将此属性用于另一个类的参数。
它抛出了一个异常:
System.Reflection.MethodInfo
无法转换为MyClass Type
。 显式转换也是不可能的。
假设您指的是类成员Language
...那不会是MethodInfo
而是PropertyInfo
.如果不是这样,那么您的代码没有演示问题。
PropertyInfo
将公开一个GetValue
方法,这将获取作为对象的值。要提供给另一个类的MethodInfo
,只需将其插入将表示参数的object[]
的正确序号中。
不能将PropertyInfo
直接传递给MethodInfo
,PropertyInfo
不是属性值的替代项,它使您可以访问属性值。
更新:我讨厌发生这种情况。我已经回答了第一个问题,但现在问题发生了变化,使我的答案看起来完全偏离了目标......