我有一个使用的类(SuperClass)。我出于个人目的设计了一个SubClass,它为我添加了附加信息。
class SuperClass{
}
class SubClass: SuperClass{
}
现在,我的问题是,在运行时我要将Superclass的实例转换为SubClass的实例。对它执行一些操作,然后返回到SuperClass。所以我的问题学家,实际上如何将SueprClass实例转换为SubClass实例?
SubClass newItem = superClass as SubClass;
答案 0 :(得分:1)
如果您正在使用的实例被初始化为SuperClass
,则无法将其神奇地转换为SubClass
的实例-这样会将整个类型系统扔出窗口。
但是,您可以添加一种将SuperClass
转换为SubClass
的方法,但是您必须为此编写代码。
一种方法是在SubClass
的实例中向SuperClass
添加一个构造函数,以及SubClass
需要的任何其他信息(如果不需要其他信息,也许您最好使用扩展方法而不是继承。
另一种方法是编写explicit转换运算符。