下記コードのビルドが通らず困っています。 public class TestClass : IBase, IExpansion1, IExpantion2 { public T Get<T>() where T : IBase { return this; } } public interface IBase {} public interface IExpansion1 : IBase {} public interface IExpantion2 : IBase {} 具体的には return this; のところで型変換ができないと怒られます。 思惑としては、 他のクラスがTestClassの機能を使うのに実体そのまま使うのではなく、 利用クラスごとに適切なinterface(IExpansion1, IExpantion2)を取得し、 それを通して使って欲しいと考えています。 その
![C#のインターフェースについて](https://cdn-ak-scissors.b.st-hatena.com/image/square/f6bc393cd0b6bd2196935e603c5d031bd6ca6699/height=288;version=1;width=512/https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fja%2FImg%2Fapple-touch-icon%402.png%3Fv%3D1cfb10b305ca)