C# 反射 - 基本类型错误


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直接传递给MethodInfoPropertyInfo不是属性值的替代项,它使您可以访问属性值。

更新:我讨厌发生这种情况。我已经回答了第一个问题,但现在问题发生了变化,使我的答案看起来完全偏离了目标......

相关内容

  • 没有找到相关文章

最新更新