如何获取属性树的跟踪

本文关键字:属性 跟踪 获取 何获取 | 更新日期: 2023-09-27 18:34:15

假设我有这样的东西:

class Program
{
    static void Main(string[] args)
    {
        A A1 = new A();
        A1.B1.C1.GetPath();
    }
}
class A
{
    public B B1 { get; set; }
    public B B2 { get; set; }
}
class B
{
    public C C1 { get; set; }
}
class C
{
    public string GetPath();
}

是否有可能实现方法GetPath(),例如返回"C1 in B1 in A1"?

如何获取属性树的跟踪

没有内置的方法可以解决这个问题。

您可以做的是:

  • OOP方式:定义ctor,在传递父/持有者类引用的地方,以便在运行时弄清楚。

  • 使用Environment.StackTrace并获取堆栈跟踪(不知道这是否真正符合您的需求)

希望这有帮助。