Überladen des Operators für eckige Klammern in C#
Der Operator für eckige Klammern ermöglicht es Klassen in C#, ihren Mitgliedern indizierten Zugriff zu gewähren. Dadurch können Entwickler benutzerdefinierte Sammlungen oder Datenstrukturen erstellen, auf die mithilfe einer Array-ähnlichen Syntax zugegriffen werden kann.
Dokumentation
Informationen zum Überladen des Operators in eckigen Klammern finden Sie unter zur Dokumentation zum „Artikel“ Eigenschaft.
Implementierung
Um den Indexer zu überladen, deklarieren Sie eine Eigenschaft mit der folgenden Syntax:
public object this[parameters] { get; set; }
Wobei Parameter den Typ und die Nummer angeben der Indizes, die für den Zugriff auf das Mitglied verwendet werden.
Ausnahme Behandlung
Der Indexer kann optional Ausnahmen auslösen, wenn ein ungültiger Index übergeben wird. Es wird empfohlen, eine ArgumentOutOfRangeException für ungültige Indizes auszulösen.
DataGridView-Beispiel
Der Indexer für DataGridView löst keine Ausnahmen aus, wenn ungültige Koordinaten angegeben werden, obwohl dies nicht explizit geschieht in der Dokumentation erwähnt.
Benutzerdefinierte Sammlung Beispiel
public class MyCollection { private List<int> _innerList = new List<int>(); public object this[int i] { get { return _innerList[i]; } set { _innerList[i] = value; } } }
Damit können Sie mit der folgenden Syntax auf Mitglieder von MyCollection zugreifen:
var collection = new MyCollection(); int item = collection[0];
Das obige ist der detaillierte Inhalt vonWie überlade ich den Operator für eckige Klammern in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!