War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Wichtig Dieses Dokument enthält ggf. nicht die bewährten Methoden für die aktuelle Entwicklung. Außerdem sind Links zu Downloads und anderen Ressourcen u. U. nicht mehr gültig. Die aktuell empfohlene Version finden Sie hier.

Generika (C#-Programmierhandbuch)

Aktualisiert: November 2007

Generika wurden in Version 2.0 der Programmiersprache C# und der Common Language Runtime (CLR) hinzugefügt. Generika führen das Konzept der Typparameter in .NET Framework ein. Dadurch wird des möglich, Klassen und Methoden zu entwerfen, in denen die Angabe eines oder mehrerer Typen verzögert wird, bis die Klasse bzw. Methode durch Clientcode deklariert und instanziiert wird. Indem Sie beispielsweise den generischen Typparameter T wie im folgenden Beispiel verwenden, können Sie eine einzelne Klasse schreiben, die von anderem Clientcode verwendet werden kann, ohne die damit verbundenen Kosten und Risiken von Boxingoperationen oder Umwandlungen zur Laufzeit:

// Declare the generic class.
public class GenericList<T>
{
    void Add(T input) { }
}
class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int.
        GenericList<int> list1 = new GenericList<int>();

        // Declare a list of type string.
        GenericList<string> list2 = new GenericList<string>();

        // Declare a list of type ExampleClass.
        GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
    }
}


  • Verwenden Sie generische Typen, um die Codewiederverwendung, Typsicherheit und Leistung zu optimieren.

  • Am häufigsten werden Generika zum Erstellen von Auflistungsklassen verwendet.

  • Die .NET Framework-Klassenbibliothek enthält mehrere neue generische Auflistungsklassen im System.Collections.Generic-Namespace. Diese sollten möglichst oft anstelle von Klassen wie ArrayList im System.Collections-Namespace verwendet werden.

  • Sie können eigene generische Schnittstellen, Klassen, Methoden, Ereignisse und Delegaten erstellen.

  • Generische Klassen werden möglicherweise eingeschränkt, um den Zugriff auf Methoden für besondere Datentypen zu aktivieren.

  • Informationen über die Typen, die in einem generischen Datentyp verwendet werden, können zur Laufzeit mittels Reflektion abgerufen werden.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft