2016-03-28 12 views
1

Was bedeutet public string this[string columnName] Bei der Implementierung der IDataErrorInfo-Schnittstelle?Was bedeutet `public string this [string columnName]` Beim Implementieren der IDataErrorInfo-Schnittstelle?

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

Ich verstehe es nicht, warum es eckige Klammern gibt und was es tut.


Antwort: Dank Hans und Scott jetzt weiß ich, dass einfach die Syntax eines Indexer ist. Weitere Informationen here.

+0

Was speziell die Sie nicht verstehen, die 'dieses [string column]' Syntax oder fragen Sie, warum sie es überhaupt tun? –

+3

Suchen Sie in Ihrem bevorzugten C# -Sprachbuch nach "indexer". –

+0

Sie müssen IDataErrorInfo verstehen, und dann werden Sie die Bedeutung von This [columnName] verstehen, und ich denke, das ist der Grund, warum Sie einen Downvote erhalten haben. –

Antwort

8

dass ein C# indexer ist, können Sie damit Ihre Klasse verwenden, wie

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

Für die Person, die mich abgelehnt hat, was war mit meiner Antwort falsch oder nicht nützlich? Ich kann meine Frage nicht lösen, wenn Sie mir nicht sagen, was ich falsch gemacht habe. –