这是对上一个问题的跟进。这个问题有一个错误(我实际上发布了我当前的解决方案,而不是我正在寻找的更好的解决方案)。
我有 3 节课,ParentClass
, ClassA
, ClassB
. ClassA
和都是ClassB
的子类ParentClass
。我想尝试创建类型的对象ClassA
或ClassB
使用某种枚举来识别类型,然后将对象实例化为父类型。我怎样才能动态地做到这一点?请看下面的代码,以及上面写着的部分//what do I put here?
。谢谢阅读!
公共枚举 ClassType { ClassA, ClassB };
public abstract class ParentClass
{
public static readonly Dictionary<ClassType, Type> Types =
new Dictionary<ClassType, Type>{
{ClassType.ClassA, typeof(ClassA) },
{ClassType.ClassB, typeof(ClassB) }
};
public ParentClass()
{
//....
}
public static ParentClass GetNewObjectOfType(ClassType type)
{
//What do I put here?
}
}
public class ClassA:ParentClass
{
//....
}
public class ClassB:ParentClass
{
//.......
}