C#のプロパティ関係、メンバ変数の違い

フィールドは、通常、内部クラスを使用し、クラスが外部からのアクセスのために、一般的に属性。

それは我々が見たくない訪問する可能性がある公共の、そして外側のクラス、フィールドへの破壊的な変更は、ある場合には、設計原理のクラスに応じて、フィールドがプライベートであり、唯一のクラス内で使用することができます、そのフィールドは、プライベートでなければなりません。

私はあなたがフィールドの割り当て、プロパティにしたい場合は、いくつかのセットを{}服用で、} {を取得しなければならない性質を取っているこのフィールドの値を読みたい場合は、プログラマができるよう、フィールドプラス保護スリーブに属性をしたいので、増加GET {}とのセットは、{}(} {セットを書いていない、財産の分野にちょうどそれが} {取得してみましょうているはず)の割り当ての内容を検証するために、またはのみ割り当てることができません読み取ることができる場を持つことが、いくつかの制限があります。外部ユーザーにとっては、どのように動作自体は、クラスによって決定された(またはプログラマによって決定される)を制御するために、制御できない、唯一それを使用することができます。

さらに、フィールド値は、REF、アウトパラメータとして使用することができ、プロパティができません。

なぜクラスのメンバ変数をpublicに使用して、プロパティを使用していませんか?財産上の利益:

1:プロパティが設定されてGETして読み書きされ、変数の民営化後、フィールド、外部のみ解放財産を保護するために等しいです。読み取り専用に提供することができます、

例えば:

 プライベートint型_name

 属性Bを定義//パブリックINT名
  {   
   GET
   {
    _nameを返す;
   }
   SET
   {
    _name =値; // B割当へ
   }

name属性は、ここでしかそれを設定していない取得する場合は、単にいくつか読んで、文字列、プロファイルのために、固定定数が良い効果を持っている読み取り専用の機能、の機能を変更。

2:時間のデータ形式を設定し、いくつかのルールやチェック制約を行うことができますプロパティは、これらの変数は、規範的な役割アップすることができ、クラスは多くの問題を解消されます

 

公開された224元の記事 ウォン称賛14 ビュー40000 +

おすすめ

転載: blog.csdn.net/xulong5000/article/details/105097863