2016-03-28 6 views
1

Что такое значение public string this[string columnName] При реализации интерфейса IDataErrorInfo?В чем смысл `public string this [string columnName]` При реализации интерфейса IDataErrorInfo?

public string this[string columnName] 
    { 
     get 
     { 
      switch (columnName) 
      { 
       case "Name": 
        return ValidateName(); 
       case "PhoneNumber": 
        return ValidatePhoneNumber(); 
       default: 
        return string.Empty; 
      } 
     } 
    } 

Я не понимаю, почему существуют квадратные скобки и что они делают.


Ответ: Благодаря Гансом и Скотт теперь я знаю, что это просто синтаксис индексатор. Дополнительная информация here.

+0

Что конкретно вы не понимаете 'это [строку ColumnName]' синтаксиса или вы спрашиваете, почему они это делают вообще? –

+3

Посмотрите в свою любимую книгу на языке C# для «индексатора». –

+0

Вам нужно понять IDataErrorInfo, а затем вы поймете значение этого [columnName], и ​​я думаю, именно поэтому вы получили нисходящее направление. –

ответ

8

Это C# indexer, это позволяет использовать класс как

IDataErrorInfo myClass = new MyClass(); 
string phoneNumberErrorInfo = myClass["PhoneNumber"];` 
+1

Лицо, которое меня ниспадало, а как же мой ответ был неправильным или не полезен? Я не могу исправить свой вопрос, если вы не скажете мне, что я сделал неправильно. –