Generika (C#-Programmierhandbuch)Generics (C# Programming Guide)

Generika wurden zur Version 2.0 der Sprache C# und der Common Language Runtime (CLR) hinzugefügt.Generics were added to version 2.0 of the C# language and the common language runtime (CLR). Generika führen in .NET Framework das Konzept der Typparameter ein, wodurch Sie Klassen und Methoden entwerfen können, die die Spezialisierung einer oder mehr Typen verzögern können, bis die Klasse oder Methode vom Clientcode deklariert und instanziiert wird.Generics introduce to the .NET Framework the concept of type parameters, which make it possible to design classes and methods that defer the specification of one or more types until the class or method is declared and instantiated by client code. Indem Sie z.B. einen generischen Parameter „T“ verwenden, können Sie eine einzelne Klasse schreiben, die anderer Clientcode verwenden kann, ohne die Kosten und Risiken von Umwandlungen zur Laufzeit oder Boxingvorgängen einzugehen, wie folgendermaßen gezeigt wird:For example, by using a generic type parameter T you can write a single class that other client code can use without incurring the cost or risk of runtime casts or boxing operations, as shown here:

// 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>();
    }
}

Übersicht über GenerikaGenerics Overview

  • Verwenden Sie Generika, um die Wiederverwendung von Code, Typsicherheit und Leistung zu maximieren.Use generic types to maximize code reuse, type safety, and performance.

  • Generika werden am häufigsten zur Erstellung von Auflistungsklassen verwendet.The most common use of generics is to create collection classes.

  • Die Klassenbibliothek von .NET Framework enthält eine Reihe generischer Auflistungsklassen im System.Collections.Generic-Namespace.The .NET Framework class library contains several new generic collection classes in the System.Collections.Generic namespace. Diese sollten wenn möglich anstatt Klassen wie z.B. ArrayList im System.Collections-Namespace verwendet werden.These should be used whenever possible instead of classes such as ArrayList in the System.Collections namespace.

  • Sie können Ihre eigenen generischen Schnittstellen, Klassen, Methoden, Ereignisse und Delegaten erstellen.You can create your own generic interfaces, classes, methods, events and delegates.

  • Generische Klassen sind womöglich in der Aktivierung des Zugriffs auf Methoden für bestimmte Datentypen beschränkt.Generic classes may be constrained to enable access to methods on particular data types.

  • Informationen zu den Typen, die in einem generischen Datentyp verwendet werden, können zur Laufzeit unter Verwendung von Reflektion abgerufen werden.Information on the types that are used in a generic data type may be obtained at run-time by using reflection.

Weitere Informationen finden Sie unter: For more information:

C#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation.For more information, see the C# Language Specification.

Siehe auchSee Also

System.Collections.Generic
C#-ProgrammierhandbuchC# Programming Guide
TypenTypes
<typeparam><typeparam>
<typeparamref><typeparamref>