2

インターフェイスはクライアントとサーバー間の契約であり、サーバーはインターフェイスで宣言されたメソッドを定義または実装する必要があります。これは internal の定義であり、Interface は public のみにする必要があることを意味すると思いますが、Interface の前に internal キーワードを使用すると Interface を作成しているときに正常に動作し、コンパイル時エラーは発生しませんが、理由がわかりませんでした。

編集:インターフェースを内部として宣言できたとしても、インターフェースメンバーを実装するクラスメソッドがパブリックである必要があります。なぜこれ?

4

1 に答える 1

8

internal キーワードは、クラスまたはインターフェイスが同じアセンブリ内の他のクラスによってのみ使用できることを意味します。

http://msdn.microsoft.com/en-us/library/7c5ka91b(VS.80).aspx

インターフェイスは、必ずしも 2 つのクライアントまたはサーバー間の契約ではなく、オブジェクトが特定のメソッドまたはプロパティを実装するという約束です。

http://msdn.microsoft.com/en-us/library/87d83y5b(v=VS.71).aspx

于 2013-01-17T16:30:21.693 に答える