Hallo!
Bei einem aktuellen Projekt benötige ich an verschiedenen Stellen eine unterschiedliche Klassen, die jeweils unterschiedliche ein Objektpaare speichern. Die Objektpaar können z.B. ein Schlüssel und ein Wert, zwei Koordinaten, ein Datum und ein Ort, ein Benutzer und ein Passwort, etc. sein. Es geht also um ganz unterschiedliche Typen:
Nun kann man natürlich für jedes mögliche Objektpaar eine eigene Klasse schreiben die diese aufnimmt. Da sich nur die verwendeten Typen unterschieden wäre aber aber eine generische Klasse wesentlich sinnvoller. KeyValuePair<> wäre z.B. solche eine fertige Klasse die verwendet werden könnte.
Das Problem hierbei ist aber, dass KeyValuePair den Zugriff über die Eigenschaften "Key" und "Value" ermöglicht. Soll nun aber kein Key-Value Paar gespeichert werden ein Benutzer und ein Passwort, wäre der Zugriff auf diese über "Key" und "Value" nicht gerade intuitiv. Der Benutzer ist kein Key, und das Passwort ist kein Value... Entsprechender Code wäre wohl recht unleserlich...
Natürlich kann ich eine eigene generische Klasse schreiben, bei der die Eigenschaften "Value1" und "Value2" heißen. Das wäre aber nur wenig besser.
Gibt es stattdessen nicht die Möglichkeit auch die Namen von Eigenschaften bei einer Generischen Klassen anzugeben? Also nicht nur "KeyValuePair<string, string>" sondern etwas wie "KeyValuePair<string [Username], string [Password]>"...?
Besten Dank
Ares