using System; namespace PRSDesktop { public interface ICalendarDataEventArgs { object Item { get; } } public interface ICalendarDataEventArgs { T? Item { get; } } public class CalendarDataEventArgs : EventArgs, ICalendarDataEventArgs, ICalendarDataEventArgs { public T? Item { get; } object ICalendarDataEventArgs.Item => Item; public CalendarDataEventArgs(T? item) { Item = item; } } public delegate void CalendarDataEvent(object sender, ICalendarDataEventArgs args); }