C#通过序列化将派生类强制转换为基类

C#通过序列化将派生类强制转换为基类,c#,inheritance,serialization,C#,Inheritance,Serialization,我试图找到一种最好的方法,在不手动分配属性的情况下,如何将派生类强制转换为基类。我想到了序列化,下面是我想到的 public class BaseClass { public string MyProperty1 { get; set; } public string MyProperty2 { get; set; } ... public string MyProperty30 { get; set; } } public class ChildClass

我试图找到一种最好的方法,在不手动分配属性的情况下,如何将派生类强制转换为基类。我想到了序列化,下面是我想到的

public class BaseClass
{
    public string MyProperty1 { get; set; }
    public string MyProperty2 { get; set; }
    ...

    public string MyProperty30 { get; set; }
}


public class ChildClass : BaseClass
{
    public string ChildClass1 { get; set; }
    public string ChildClass2 { get; set; }

    public BaseClass ToBaseClass()
    {
        return this.ToJSON().FromJsonTo<BaseClass>();
    }
}
公共类基类
{
公共字符串MyProperty1{get;set;}
公共字符串MyProperty2{get;set;}
...
公共字符串MyProperty30{get;set;}
}
公共类子类:基类
{
公共字符串ChildClass1{get;set;}
公共字符串ChildClass2{get;set;}
公共基类ToBaseClass()
{
返回这个.ToJSON().fromjson();
}
}
其中.ToJSON().fromJSONO是通过NewtonSoft JSON.NET库处理的序列化


你认为这是一个好方法吗?

你想做什么?为什么要将类强制转换为基类?这听起来有点奇怪。如果你能详细说明一下,我们大家会更容易帮助你。不,这是一个糟糕的方法。最好使用AutoMapperSerialize反序列化组合来实现实例复制。如果您只是需要深度复制,那么请确保这是一种方法。结果是,为什么要获取基类实例还不清楚。我有一个基类,它有一堆需要处理的属性和API调用,它向我发送基类的所有属性以及一些与基类无关的附加属性。数据以JSON的形式提供给我的MVC WebApi。我已经创建了一个ChildClass作为ViewModel,并在其中定义了所有附加属性(与Bas无关)