a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
38 lines
753 B
C#
38 lines
753 B
C#
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 ()
|
|
{ }
|
|
}
|