2012-03-13 6 views
1

だけにはパラメータはありませんASP.NETの使用は

 public Dictionary<string, List<TrainingItem>> TrainingItems 
    { 
     set 
     { 
      trainingItems = SanitizeTrainingItems(value); 

      Results_Repeater.DataSource = trainingItems; 
      Results_Repeater.DataBind(); 
     } 
    } 

がどのように(値)の値がここを乗り越えるんし、それを何であるか。私が意味する、以下の機能に思って関数の値を渡しているのですが、まだ関数の値を渡しています。それはどこから来たのかわかりません。

答えて

2

プロパティはデータメンバをシミュレートします。ほとんどの場合、プライベートフィールドの値の読み取り、書き込み、または計算にはプロパティが使用されます。

プロパティの一般的な使い方は次のようになります。

private string _firstName; 

public int FirstName 
{ 
    get { return _firstName; } 
    set { _firstName = value; } 
} 

プロパティ定義内getsetブロックは_firstNameの値を読み取りまたは書き込みのいずれかアクセサメソッド本体を表します。 setアクセサでは、valueは、コンパイラによって生成されたアクセッサメソッドset_FirstNameのパラメータを表すコンテキストキーワードです。

プロパティがない場合は、自分でこれらのメソッドを記述する必要があります。すなわち、public string getFirstName();public void setFirstName(string value);があり、それに従ってそれぞれのメソッドを呼び出します。 C#プロパティは単なるショートカットであり、正しいアクセサーを呼び出すための使いやすいメカニズムを提供します。

0

set accessorは、値が名前の暗黙的なパラメータを使用します。次の例では、アクセッサがTrainingItemsプロパティに追加されます

valを割り当てると新しい値を提供する引数を使用して、setアクセサが呼び出されます。

は、ここでそれを参照してください - (プロパティは読み取り専用されていない限り)現実には、アクセサメソッドは、具体的にgetアクセサとsetアクセサのセットだ時にC#でhttp://msdn.microsoft.com/en-us/library/w86s7x04(v=vs.90).aspx

関連する問題