我在运行时使用Reflection进行一些类型分析.如果我有一个MethodInfo实例,我怎么能弄清楚这是一个"真正的"方法还是一个属性的getter/setter方法?如果它是一个属性,我怎样才能找到它的托管PropertyInfo?
我在做一个项目,在那里我需要注册的所有属性,因为系统是如此巨大,将需要大量的工作来注册的一切,我希望依赖XAML的目的属性.
目标是找到树顶部的所有属性.
所以基本上
public class A{
public int Property1 { get; set; }
}
public class B : A{
public int Property2 { get; set; }
public virtual int Property3 { get; set; }
}
public class C : B{
public override int Property3 { get; set; }
public int Property4 { get; set; }
public int Property5 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
最终结果将是这样的
A.Property1
B.Property2
B.Property3
C.Property4
C.Property5
Run Code Online (Sandbox Code Playgroud)
如果您注意到我不想接受被覆盖的属性,因为我搜索属性的方式如果我做这样的事情
C.Property3例如,它找不到它会检查C的基本类型,它会找到它.
这就是我到目前为止所拥有的.
public static void RegisterType( Type type )
{ …Run Code Online (Sandbox Code Playgroud)