例如,我有以下課程。如何知道c#中的財產位置的層次結構?
public class Level1
{
public int intprop;
public Level2 level2;
}
public class Level2
{
public string strprop;
public Level3 level3;
}
public class Level3
{
public float fltprop;
}
現在,如果我得到fltprop,那麼如何知道這個屬性的層次結構是這樣的Level1.level2.level3.fltpro?
有沒有反思方法來了解物業位置的層次?
更新:
如果你看進級1級到Level3的,你可以看到fltprop裏面是1級=>(第二級)=> 3級=> fltprop居住。
現在通過使用反射,如果我得到fltprop作爲PropertyInfo,那麼我可以知道這個屬性是從Level1 => level2 => level3?意味着採取propertyinfo然後我知道這個屬性的根級別3,然後知道level3的根級別2然後知道level2的根級別是level1。
一般情況:沒有。你擁有的只是一個物體;該對象可以在許多不同的地方使用,或者可以從同一圖形中的多條路線訪問。如果你從表達式樹開始,例如'Expression> expr = x => x.Level2.Level3.fltprop;' - 如果你有* that * ,那麼答案變成「是」。 –
2013-03-13 09:27:17