回答編集履歴
2
表現修正
answer
CHANGED
@@ -70,4 +70,4 @@
|
|
70
70
|
```
|
71
71
|
|
72
72
|
monon-ga さんのご回答どおり、プロパティとメンバ変数(フィールド)の区別がつきにくい限りは、メンバ変数を直接参照するか分かり易いメソッドで取り扱うことにしてアクセサを経由させないほうが、相互参照による無限ループや、見えにくい副作用の類を防げると思います。
|
73
|
-
ただ「[自動実装プロパティ](http://csharp.keicode.com/basic/auto-impl-properties.php)」(最初のコードのProp2のような記述)を使用する限り、
|
73
|
+
ただ「[自動実装プロパティ](http://csharp.keicode.com/basic/auto-impl-properties.php)」(最初のコードのProp2のような記述)を使用する限り、プロパティ参照をせざるをえませんが...(自動実装プロパティをアクセサとみるかメンバ変数(フィールド)とみるかによりますが)
|
1
誤表現修正
answer
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
}
|
22
22
|
```
|
23
23
|
|
24
|
-
のように、setter をアクセス制限
|
24
|
+
のように、setter をアクセス制限する記述ができます。これは明確にクラス内部または派生クラスから「プロパティ」(アクセサ経由)で操作することを意図しています。
|
25
25
|
|
26
26
|
ただ、.NET Framework のソースコード(http://referencesource.microsoft.com/ MSさんのコーディング)を覗いてみると、コンストラクタでプロパティを初期化(代入)している操作が大半のようでした。
|
27
27
|
|