2012-05-14 2 views
2

позволяет сказать, что у меня есть что-то вроде этого:Как получить след дерева свойств?

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»?

+0

Связано с: http://stackoverflow.com/questions/5716896/get-inheritance-tree-of-type –

ответ

0

Нет встроенного способа для этого.

Что вы можете сделать:

  • ООП способ: определить CTOR где вы передаете ссылку на класс родителя/держатель, поэтому он может быть просчитан во время выполнения.

  • использование Environment.StackTrace и получить только трассировки стеки (не знает, если это соответствует вашим потребностям на самом деле)

Надеется, что это помогает.

Смежные вопросы