My code is like this
public class BaseClass
{
public string Field1 { get; set; }
}
public class DerivedClass: BaseClass
{
public string Field2 { get; set; }
}
var obj = new DerivedClass { Field1 = "aaa", Field2 = "bbb" };
I have to serialize obj
but I only need the BaseClass
properties since DerivedClass
properties are "additional info" which is added after deserialization.
How can I get them? (I can't use [JSonIgnore]
decorator because I have to send DerivedClass
objects over websocket and I'll lose informations)
You could provide your BaseClass
with a constructor that takes a BaseClass
as parameter und takes necessary information. This way you could create a new object and serialize it:
public class BaseClass
{
public string Field1 { get; set; }
public BaseClass(){ }
public BaseClass(BaseClass dc)
{
this.Field1 = dc.Field1;
}
}
public class DerivedClass : BaseClass
{
public string Field2 { get; set; }
}
Calling it like this:
var obj = new DerivedClass { Field1 = "aaa", Field2 = "bbb" };
BaseClass obj_base = new BaseClass(obj);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With