Hotel (IHotel を実装)、Room (IRoomDetails および IBookedRoom から継承された IRoom を実装)、ClientModel (IClientModel を実装) の3 つのクラスがあります。
public interface IRoomDetails
{
string Number { get; set; }
float PricePerDay { get; set; }
}
public interface IBookedRoom
{
bool IsAvailable { get; set; }
IClientModel Reservator { get; set; }
string TermFrom { get; set; }
string TermTo { get; set; }
string Term { get; }
}
public interface IRoom : IRoomDetails , IBookedRoom
{
}
public class Room : ObservableObject, IRoom
{
//Realization here
}
List<IRoomDetails>すべての作品を完璧にシリアル化しようとすると、しかし、両方から継承してシリアル化しようとList<IBookedRoom>するインターフェイスを作成すると、次のようになります。IRoomList<IRoom>
{
"Adress": "Pokrovska , 1B",
"Name": "Victoria",
"TotalRooms": 2,
"AvailableRooms": 2,
"Rooms": [
{},
{}
]
}
ご覧のとおり、データはシリアル化されていません。(部屋のリストは空ではありません) . 助言がありますか?