Код: Выделить всё
var a = new A();
var b = (B)a;
Console.WriteLine(b);
public class A : B
{
public string Name { get; set; } = "Name";
}
public class B
{
public string Test { get; set; } = "Test";
}
Вопрос: Как я могу привести a к B, чтобы избавиться от свойств типа A?
Я попробовал следующее:
Код: Выделить всё
var b = new B() { Test = a.Test };
РЕДАКТИРОВАТЬ:
Код: Выделить всё
Console.WriteLine("B: {0}", JsonSerializer.Serialize(b));
РЕДАКТИРОВАТЬ 2:
Как упоминалось NPras в одном из комментариев, результат сериализации зависит от того, какая структура сериализации используется.
Newtonsoft: Свойства типа А i B сериализуются.
System.Text.Json: сериализуются только свойства типа B.
Поэтому здесь нужно быть особенно осторожным.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ivate-type