3 public class Z : IGenericInterface<Z>
10 Z IGenericInterface<Z>.Start ()
12 throw new ApplicationException ();
16 public interface IGenericInterface<T>
21 public class A<T> where T : Z, IGenericInterface<int>
23 public void SomeOperation (T t)
29 public class C : Z, IGenericInterface<int>
31 int IGenericInterface<int>.Start ()
33 throw new NotImplementedException ();
36 public static void Main ()
38 new A<C> ().SomeOperation (new C ());