下記コードのビルドが通らず困っています。 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)を取得し、 それを通して使って欲しいと考えています。 その