C# cast derived class to base via serialization
<p>I was trying to find a best approach how can I cast derived class to a base class, without manually assigning properties. I though about serialization and here is what I came up with.</p>

<pre><code>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&lt;BaseClass&gt;();
    }
}
</code></pre>

<p>Where .ToJSON() .FromJsonTo is serialization handled with NewtonSoft JSON.NET libraries.</p>

<p>Do you think could be a good approach?</p>