将一个类转换为另一个从同一个baseClass中插入的类

Cih*_*han 2 c# inheritance

可以将class1转换为class2吗?result变量始终检索null值.

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; }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

不,这样做是不可能的.您需要编写自己的转换方法或运算符.该对象base1仅指不是 Class2.什么将它的价值观Field6Field7是什么?