2012-03-13 1 views
1

Просто интересно, в следующей функциииспользование ASP.NET «ценность» в функции

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

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

Как величина (стоимость) пройти здесь, и что это. Я имею в виду не существует никаких параметров в но все же я все еще передаю значение в функции, я просто не понимаю, откуда оно взялось?

ответ

2

Свойство в C# имитирует элемент данных, когда в действительности это набор методов доступа, в частности с get аксессора и set аксессора (если свойство не только для чтения). В большинстве случаев свойство используется для чтения, записи или вычисления значения частного поля.

Обычное использование имущества будет:

private string _firstName; 

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

В get и set блоки в определении свойства представляют акцесора тела, которые либо считывать или записывать значение _firstName. В аксессуре setvalue - это контекстуальное ключевое слово, представляющее параметр метода доступа set_FirstName, сгенерированный компилятором.

Без свойств вы должны были бы написать эти методы самостоятельно, то есть у вас были бы public string getFirstName(); и public void setFirstName(string value);, и вы бы назвали каждый метод соответствующим образом. Свойство C# является просто ярлыком и дает вам простой в использовании механизм для вызова правильного доступа.

0

set accessor использует неявный параметр, называемый значением, тип которого является типом свойства. В следующем примере набор accessor добавляется к свойству TrainingItems

Когда вы назначаете val ue в свойство, аксессуар набора вызывается с использованием аргумента, который предоставляет новое значение.

Посмотрите здесь - http://msdn.microsoft.com/en-us/library/w86s7x04(v=vs.90).aspx

Смежные вопросы