11

私は.net C#が初めてです。インターフェイスについて学んでいます。

  1. インターフェイスでアクセス修飾子を使用できますか?
  2. デフォルトでは、インターフェイスは内部ですか?
  3. インターフェイス メンバーにアクセス修飾子を使用できますか?
4

2 に答える 2

37

C# 8.0 以降、インターフェイス内にアクセス修飾子を含めることができます。この投稿を参照してください C# 8 インターフェイス: Public、Private、および Protected メンバー


C# 8.0 より前

君は見るべきだ:

アクセス修飾子 - MSDN

名前空間内で直接宣言されたインターフェイスは、パブリックまたは内部として宣言でき、クラスや構造体と同様に、インターフェイスはデフォルトで内部アクセスになります。インターフェイスの目的は、他の型がクラスまたは構造体にアクセスできるようにすることであるため、インターフェイス メンバーは常にパブリックです。インターフェイス メンバーにアクセス修飾子を適用することはできません。

(ご質問はこちら)

インターフェイスでアクセス修飾子を使用できますか

はい、パブリックまたは内部として宣言できます

デフォルトでは、インターフェイスは内部です

はい。

インターフェイスメンバーを持つアクセス修飾子はどうですか。

それらは公開されています。インターフェイス メンバーにアクセス修飾子を適用することはできません。

于 2013-04-19T09:41:38.043 に答える
0

1.インターフェイスでアクセス修飾子を使用できます。クラスでできるように、インターフェイスでプライベートであっても、任意のアクセス修飾子を使用できます

2.はい、デフォルトではインターフェースは内部です

3.interface メンバーは public でなければなりません

名前空間でプライベート クラスを定義できないため、プライベート インターフェイスを名前空間で直接定義することはできません。これは、プライベート インターフェイス/クラスを誰も使用できないためです。ただし、別のクラス内でプライベート インターフェイス/クラスを宣言できます。

私はあなたがこれを行うことができないことを意味します:

namespace myNamespace{
    private interface MyInterface{...}
}

これは、 MyInterface が他のクラス/インターフェースで利用できないためです

しかし、あなたはすることができます

namespace myNamespace{
    class MyClass{
        private interface MyInterface{...}
    }
}

この場合、MyInterface は MyClass でのみ使用できます

于 2013-04-19T09:42:49.097 に答える