我尝试获取实例的父类型。我能怎么做 ?
例子 :
public class a
{
public b { get; set; }
}
public class b
{
}
var a = new a();
a.b = new b();
var parentType = a.b.??GetParentInstanceType()??
我尝试获取实例的父类型。我能怎么做 ?
例子 :
public class a
{
public b { get; set; }
}
public class b
{
}
var a = new a();
a.b = new b();
var parentType = a.b.??GetParentInstanceType()??
你不能。
您需要手动向子级添加一个属性以跟踪父级:
这是一种方法:
public class A
{
public B<A> Child { get; set; }
}
public class B<T>
{
public T Parent { get; set; }
}
A a = new A();
a.Child = new B<A>();
a.Child.Parent = a;
Type parentType = a.Child.Parent.GetType();
当然这里的问题是没有什么能阻止你忘记设置Parent
或设置错误Parent
。