如何获取属性树的痕迹?

时间:2012-05-14 09:36:01

标签: c# .net properties path trace

让我说我有这样的事情:

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”会返回?

1 个答案:

答案 0 :(得分:0)

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

可以做的是:

  • OOP方式:定义传递父/持有者类引用的ctor,这样就可以在运行时找到它。

  • 使用Environment.StackTrace并获得堆栈跟踪(实际上不知道这是否符合您的需求)

希望这有帮助。