-1

ゲッターとセッターのデフォルトのアクセス修飾子がパブリックでプライベートではないのはなぜですか?

4

3 に答える 3

5

プロパティのgetsetの部分はデフォルトで public に設定されず、それらが属するプロパティの可視性にデフォルト設定されます。プロパティ自体のデフォルトの可視性は、他のすべての種類のメンバーと同様にプライベートです。

于 2012-09-22T06:38:06.493 に答える
0

そのようC#に設計されているからです。

  • 定義済みフィールド
  • そのフィールドにアクセスするためのプロパティを定義します

したがって、フィールドを作成し、呼び出し元からフィールドにアクセスできるようにプロパティを作成するというデフォルトの動作が期待されます (派生したものだけでなく、任意)。そのため、プロパティメソッド (そうでない場合は、プロパティをパブリックにする意味がありません)になります。privatewrite and read get/setpublic

これは、期待されるデフォルトの動作であり、他には何もありません。

于 2012-09-22T06:37:51.870 に答える
0

プロパティには独自のアクセス修飾子があり、実際には SomeType getProp() と void setProp(SomeType) の 2 つのメソッドのセットを記述しているためだと思います。これらのメソッドは、デフォルトではプロパティのように見えます。ただし、可視性を変更したい場合は、追加の修飾子 (Prop{get;private set;} など) を使用して変更できます。

于 2012-09-22T06:40:49.247 に答える