Generika

Definition - Was bedeutet Generika?

Generika beziehen sich auf eine Funktion in C #, mit der eine Klasse oder Methode mit dem Typ als Parameter definiert werden kann.

Generics ermöglichen das Entwerfen von Klassen und Methoden, deren Typen nur zum Zeitpunkt der Deklaration und Instanziierung angegeben werden. Dies ermöglicht die Entwicklung universeller Klassen und Methoden, die zur Verbesserung von Leistung, Produktivität und Typensicherheit beitragen.

Generika werden häufig beim Erstellen von Auflistungsklassen zum Implementieren von Konzepten wie Listen, Hash-Tabellen, Warteschlangen usw. verwendet. Diese Klassen verwalten eine Reihe von Objekten und kapseln Vorgänge, die nicht spezifisch für einen bestimmten Datentyp sind.

Generika werden auch als parametrischer Polymorphismus bezeichnet.

Technische.me erklärt Generika

Generika wurden in C # 2.0 als Teil der Common Language Runtime von .NET eingeführt, um die Einschränkungen bei der Implementierung der Generalisierung in früheren Versionen zu überwinden. Die Verallgemeinerung wurde erreicht, indem Typen zum und vom universellen Basistyp System.Object gegossen wurden, das nicht typsicher war und ein Gießen erforderte, was zu einer Beeinträchtigung der Leistung führte.

Einige der Vorteile bei der Verwendung von Generika sind:

  • Für den Zugriff auf jedes Element in der Sammlung ist kein Casting erforderlich
  • Clientcode, der Generika verwendet, ist während der Ausführung typsicher, da die Verwendung von Daten verhindert wird, deren Typ sich von dem in der Deklaration verwendeten unterscheidet
  • Code wird nicht für mehrere Datentypen dupliziert

Die Liste Die Auflistungsklasse ist ein Beispiel für eine generische Klasse in der .NET Framework-Klassenbibliothek, mit der ein Element eines beliebigen Typs (T) hinzugefügt, gelöscht und durchsucht werden kann, das als Parameter übergeben wird. Wenn die List-Klasse mit einem Typparameter im Clientcode instanziiert wird, ähnelt sie einer konkreten Klasse, die mit demselben Typ implementiert ist.

Generika ähneln im Konzept C ++ - Vorlagen, unterscheiden sich jedoch hauptsächlich in der Implementierung.

Diese Definition wurde im Kontext von C # geschrieben