首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#:将SuperClass转换为SubClass

C#:将SuperClass转换为SubClass
EN

Stack Overflow用户
提问于 2019-06-16 08:24:15
回答 1查看 513关注 0票数 0

我有一个使用的类(SuperClass)。为了自己的目的,我设计了一个SubClass,它为我添加了进度表信息。

代码语言:javascript
复制
class SuperClass{
}

class SubClass: SuperClass{
}

现在我的问题是,在运行时,我希望将Superclass的实例转换为SubClass的实例。对它执行一些操作,然后返回到SuperClass。那么,我的问题是,如何能够将SueprClass的实例实际转换为SubClass的实例?

代码语言:javascript
复制
SubClass newItem = superClass as SubClass;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-16 08:48:52

如果您使用的实例初始化为SuperClass,则无法神奇地将其转换为SubClass的实例--这会将整个类型系统抛出窗口。

但是,您可以添加一种将SuperClass转换为SubClass的方法,但是您必须为此编写代码。

一种方法是向SubClass添加一个构造函数,该构造函数接受SuperClass的实例和SubClass需要的任何附加信息(如果不需要附加信息,也许最好使用扩展方法而不是继承)。

另一种方法是编写显式转换操作符。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56617245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档