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