「インターフェース」と呼ばれるプロジェクトに次のようなインターフェースがあるとします。
public interface TestInterface
{
string Operation();
}
そしてそれを実装するクラス。このクラスは、別のプロジェクト「クラス」にあります。
public class TestClass : TestInterface
{
public TestClass() { }
public string Operation()
{
return "This is an Operation";
}
}
私のクライアントは次のようなことをします(これもまた別のプロジェクト「クライアント」にあります):
class Program
{
static void Main(string[] args)
{
TestInterface i = new TestClass();
i.Operation();
}
}
私の質問はこの行に関連しています:
TestInterface i = new TestClass();
この行を追加することにより、実際には、「クライアント」プロジェクトから「インターフェース」プロジェクトと「クラス」プロジェクトの両方への参照を追加する必要があります。では、なぜこの大騒ぎなのか?「インターフェース」を挟まずに「クラス」を直接参照することはできませんか?(実装クラスを参照せずに)インターフェイスのみを介してメソッドにアクセスする方法はありますか?ここで何かが足りませんか?