c# - 将一个类转换为从同一基类继承的另一个类

标签 c# inheritance

可以将 class1 转换为 class2 吗? 结果变量检索始终为空值。

class Program
{
    static void Main(string[] args)
    {
        Class1 class1 = new Class1();
        class1.Field1 = "1";
        class1.Field2 = "2";
        class1.Field3 = "3";
        class1.Field4 = "4";
        class1.Field5 = "5";
        BaseClass base1 =  (BaseClass)class1;

        Class2 class2 = base1 as Class2;

        string result = class2.Field1;
    }
}

public class BaseClass
{
    public string Field1 { get; set; }
    public string Field2 { get; set; }
    public string Field3 { get; set; }
}

public class Class1 : BaseClass
{
    public string Field4 { get; set; }
    public string Field5 { get; set; }
}

public class Class2 : BaseClass
{
    public string Field6 { get; set; }
    public string Field7 { get; set; }
}

最佳答案

不,不可能这样转换。您需要编写自己的转换方法或运算符。对象base1 简单地引用不是 Class2。 Field6Field7 的值是多少?

关于c# - 将一个类转换为从同一基类继承的另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5218217/

相关文章:

c# - RavenDB Multi Map reduce 遇到问题

delphi - 我可以使用虚拟抽象方法来继承接口(interface)对象吗?

inheritance - 最佳 JAXB XJC 代码生成和最佳 XML 模式与继承

c# - 基类继承另一个基类?

C++ - 是否需要指针来覆盖返回类型 - 继承?

c# - Elasticsearch Nest-搜索动态数据

c# - 如何在自定义 wpf 控件上绑定(bind)数据网格列的可见性?

c# - 如何在不创建新表单实例的情况下在表单之间切换?

c# - 通用类的强制转换方法参数

java - spring框架中根据实体对象调用不同的Service api