using Newtonsoft.Json; using System.ComponentModel; namespace Pilz.Net.Api.Messages; public static class GeneralItemMessages { public class Item(T item) : ObjectMessage(item); public class Items(List items) : ObjectsMessage(items); [EditorBrowsable(EditorBrowsableState.Never)] public class ObjectMessage(T item) : ApiMessage { [JsonProperty(TypeNameHandling = TypeNameHandling.Auto)] public T Item { get; } = item; } [EditorBrowsable(EditorBrowsableState.Never)] public class ObjectsMessage(List items) : ApiMessage { [JsonProperty(ItemTypeNameHandling = TypeNameHandling.Auto)] public List Items { get; } = items; } }