Tag: downcast

在C#中将基类实例转换为派生类(向下转换)

假设我有两个类: class Employee 和 class AdvancedEmployee:Employee 我知道这样的事情是行不通的,因为我不能在C#上贬低: var employee = new Employee(); var advanced = employee as AdvancedEmployee; 我的问题是:如何以有效的方式完成垂头丧气? 实际上我在AdvancedEmployee上有一个构造函数,它将Employee作为参数并使用它来注入其值,基本上是克隆。 更新 为了解决可能重复的数据,我改变了方法,现在AdvancedEmployee包含了一个员工而不是一个员工。 例: class Employee; class AdvancedEmployee { private employee public AdvancedEmployee(Employee employee){ this.employee = employee } }