0

クラスとクラスのインターフェイスを備えたクラスライブラリを作成しました。

現在、クラスはプライベートで、インターフェースはパブリックです。

クラスライブラリのdllをコンソールアプリにインポートすると、次のようにインターフェイスをインスタンス化する必要があることがわかります。

IInterface iinterface = new Class();

しかし、それが機能するためには、クラスも公的にアクセス可能でなければなりません。クラスではなくインターフェイスに対してコーディングする理由は理解していますが、インターフェイスだけでなくクラスへのアクセスをサードパーティに許可する必要がありますか?

4

1 に答える 1

4

インターフェイスは実際にはコントラクトを提供します。サードパーティのライブラリでは、ユーザーがクラスを使用しないようにインターフェイスに対してコーディングすることを期待しています。サードパーティのユーザーがクラスにアクセスできるようにする場合は、クラスを公開する必要があります。

于 2013-02-20T11:49:21.573 に答える