所以,我有以下结构:
public abstract class MyBase { public Type targettype { get; protected set; } } public class A : MyBase { public A() { targettype = GetType();//Wrong,I need B class type not C } } public class B : A { public B() { } } public class C : B { public C() { } }
当然,我可以这样接收我的类型:
public class B : A { public B() { targettype = typeof(B); } }
实际上,我必须编写一些代码来使示例更清晰:
将Class1.cs
public static Dictionary<Type,Type> MyTypes = new Dictionary<Type,Type>() { { typeof(B),typeof(BView) } } public Class1() { C itemC = new C(); Class2.Initialize(itemC); }
Class2.cs
public static Initialize(MyBase myBase) { Type t; Class1.MyTypes.TryGetValue(myBase.targettype,out t); //I need get BView but I get null because *myBase.targettype* is C class type }
等级结构:
> 0级:(MyBase) – 1个对象
> 1级:(A) – 2个物体
> 2级:(B) – 100个物体以上
> 3级:(C) – 80个物体等等
我把这个案子放在括号里
我将不胜感激任何帮助
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。