teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/11/16 13:28

投稿

退会済みユーザー
answer CHANGED
@@ -4,4 +4,10 @@
4
4
 
5
5
  (2) プロパティを使う目的には、開発者が意図した規則に基づいてフィールドを正しく使用できるよう保証するということもあります。
6
6
 
7
- (3) プロパティでなければダメというケースもあります。例えば、Entity Framework Code First でのモデルを定義を行う場合はフィールドではダメで、プロパティの定義が必要です。他には、ASP.NET Web Forms アプリのデータバインド式でもプロパティでないとダメです。
7
+ (3) プロパティでなければダメというケースもあります。例えば、Entity Framework Code First でのモデルを定義を行う場合はフィールドではダメで、プロパティの定義が必要です。他には、ASP.NET Web Forms アプリのデータバインド式でもプロパティでないとダメです。
8
+
9
+ **【追記】**
10
+
11
+ 下のコメントで書いた「自動実装プロパティでフィールドが定義してないという場合はプロパティを使わざるを得ないですね」の件です。Configuration プロパティは Visual Studio のテンプレートで生成されるコードです。
12
+
13
+ ![イメージ説明](074ed65128501e9f0d57646cbd76eeab.jpeg)

1

訂正

2020/11/16 13:28

投稿

退会済みユーザー
answer CHANGED
@@ -1,6 +1,6 @@
1
1
  質問のコメント欄に書いたことを含め、プロパティを使う理由を以下に書いておきます。
2
2
 
3
- (1) オブジェクト指向の概念の一つ「カプセル化」を実現するため、通常クラス内の各フィールドへの直接アクセスは禁止するようにしておき、外部からはパブリックプロパティで各フィールの値を取得したり設定したりするということがもともとのプロパティの目的です。
3
+ (1) オブジェクト指向の概念の一つ「カプセル化」を実現するため、通常クラス内の各フィールドへの直接アクセスは禁止するようにしておき、外部からはパブリックプロパティで各フィールの値を取得したり設定したりするということがもともとのプロパティの目的です。
4
4
 
5
5
  (2) プロパティを使う目的には、開発者が意図した規則に基づいてフィールドを正しく使用できるよう保証するということもあります。
6
6