7

宣言の用途は何ですか

private Int64 _ID ;
public Int64 ID{get { return _ID; }set { _ID = value; } };

このようにプライベート変数を宣言します

通常、コーディングでは ID を直接使用し、ID はプライベートな _ID にアクセスします。直接宣言する代わりに、これがどのようにセキュリティを強化するか

public int64 ID{get;set;}
4

4 に答える 4

4

両方の長所:

public long ID {get;set;}

それは簡単ではありませんでしたか?

フィールドを として公開するべきpublicではありませんが、それは冗長にする必要があるという意味でもありません。

于 2012-12-19T07:21:28.367 に答える
3

getbenefitおよび set メソッドによってカプセル化の を取得し、 を配置できる場所に呼び出しますcustom logic。プライベートは、一部のボディが に書き込むときに set メソッドによる_IDプロパティのデータを保持するためのプレースホルダーです。同様に、 によって値を与える前にカスタムロジックを配置できます。protected_idget

これは、msdnプロパティについて説明するものです」プロパティは、フィールドとメソッドの両方の側面を兼ね備えています。オブジェクトのユーザーには、プロパティはフィールドのように見えます。プロパティにアクセスするには、同じ構文が必要です。クラスの実装者にとって、プロパティは 1 つです。または、get アクセサーおよび/または set アクセサーを表す 2 つのコード ブロック. get アクセサーのコード ブロックは、プロパティが読み取られるときに実行されます.set アクセサーのコード ブロックは、プロパティに新しい値が割り当てられるときに実行されます. set アクセサーのないプロパティは読み取り専用と見なされます. get アクセサーのないプロパティは書き込み専用と見なされます. 両方のアクセサーを持つプロパティは読み書き可能です ". 詳しくはこちらをご覧ください

于 2012-12-19T07:22:08.000 に答える
2

値を設定および取得する前に入力または出力を確認すると、セキュリティが確保されます。次のようになります。

private int? _ID;
public int ID 
{
    get { return _ID ?? 0; }
    set { _ID = value >= 0 ? value : 0; } 
}
于 2012-12-19T07:26:15.713 に答える
2

Propertiesおよびについて読む必要がありFieldsます。プロパティはより適切なカプセル化を提供するため、パブリック フィールドを公開する代わりに使用する必要があります。

于 2012-12-19T07:22:54.693 に答える