58 lines
559 B
C#
58 lines
559 B
C#
|
namespace A
|
||
|
{
|
||
|
public partial class B<T>
|
||
|
{
|
||
|
public partial class C
|
||
|
{
|
||
|
public class A { }
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace A
|
||
|
{
|
||
|
public abstract partial class B<T> where T : B<T>.C
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace A
|
||
|
{
|
||
|
public partial class B<T>
|
||
|
{
|
||
|
public partial class C : I
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace A
|
||
|
{
|
||
|
public interface Ibase
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public partial class B<T>
|
||
|
{
|
||
|
public interface I : Ibase
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace A
|
||
|
{
|
||
|
class Bar : B<Bar>.C
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public class Test
|
||
|
{
|
||
|
public static void Main ()
|
||
|
{
|
||
|
Ibase b = new Bar ();
|
||
|
System.Console.WriteLine (b != null);
|
||
|
}
|
||
|
}
|
||
|
}
|