例如,我有以下课程。如何知道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