42 lines
479 B
C#
Raw Normal View History

using System;
public interface IHello<T>
{ }
public interface IFoo<T>
{
IHello<T> GetHello ();
}
public interface IBar<T> : IFoo<T>
{ }
public class Foo<T> : IBar<T>, IFoo<T>
{
public Hello GetHello ()
{
return new Hello (this);
}
IHello<T> IFoo<T>.GetHello ()
{
return new Hello (this);
}
public class Hello : IHello<T>
{
public readonly Foo<T> Foo;
public Hello (Foo<T> foo)
{
this.Foo = foo;
}
}
}
class X
{
public static void Main ()
{ }
}