Как наследовать часть характеристик класса

Мне необходимо сделать сериализацию одного объекта в файл формата 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; }
}
→ Ссылка