class A { } class B { } interface I { T Prop { get; set; } } class C : I, I { B I.Prop { get; set; } A I.Prop { get; set; } } class Program { public static void Main (string[] args) { C c = new C (); } }