Как наследовать часть характеристик класса
Мне необходимо сделать сериализацию одного объекта в файл формата json. Класс этого объекта имеет поле, которое недоступно для неё. Я думал решить проблему наследованием нового класса от базового. Но мне нужно каким-то образом избавиться от этого поля, при этом сохранив его открытость в основном классе.
Ответы (2 шт):
Автор решения: Andrew
→ Ссылка
создай третий абстрактный клас без этого поля.
Унаследуй эти 2 класса от этого абстрактного. Где нужно добавить поле - добавь. Где не нужно - не добавляй.
Автор решения: yolosora
→ Ссылка
Можно так без всяких наследований
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
public class Program
{
public static void Main()
{
var myEntity = new MyEntity()
{
NiceField = "Hello World",
BadField = "Goodbye World"
};
string json = JsonSerializer.Serialize(myEntity);
Console.WriteLine(json);
}
}
public class MyEntity
{
public string NiceField { get; set; }
[JsonIgnore]
public string BadField { get; set; }
}