相关疑难解决方法(0)

从getter/setter的MethodInfo中查找托管PropertyInfo

我在运行时使用Reflection进行一些类型分析.如果我有一个MethodInfo实例,我怎么能弄清楚这是一个"真正的"方法还是一个属性的getter/setter方法?如果它是一个属性,我怎样才能找到它的托管PropertyInfo?

.net reflection propertyinfo methodinfo

23
推荐指数
4
解决办法
4350
查看次数

如何确定属性是否被覆盖?

我在做一个项目,在那里我需要注册的所有属性,因为系统是如此巨大,将需要大量的工作来注册的一切,我希望依赖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)

.net c# reflection types propertyinfo

11
推荐指数
1
解决办法
3567
查看次数

标签 统计

.net ×2

propertyinfo ×2

reflection ×2

c# ×1

methodinfo ×1

types ×1