38 lines
753 B
C#
Raw Normal View History

using System;
public class ThisBaseClass<A, B, C>
where A: ThisBaseClass<A, B, C>
where B: ThatBaseClass<B, A, C>, new()
where C: class
{ }
public class ThatBaseClass<B, A, C>
where B: ThatBaseClass<B, A, C>, new()
where A: ThisBaseClass<A, B, C>
where C: class
{ }
public class ThisClass<A, B, C>: ThisBaseClass<A, B, C>
where A: ThisClass<A, B, C>
where B: ThatClass<B, A, C>, new()
where C: class
{ }
public class ThatClass<B, A, C>: ThatBaseClass<B, A, C>
where B: ThatClass<B, A, C>, new()
where A: ThisClass<A, B, C>
where C: class
{ }
public class ThisClass: ThisClass<ThisClass, ThatClass, object>
{ }
public class ThatClass: ThatClass<ThatClass, ThisClass, object>
{ }
public class Test
{
public static void Main ()
{ }
}