Sobes.tech
Junior — Middle

Wie kann man eine Einschränkung des Parametertyps in einem Generikum festlegen?

sobes.tech KI

Antwort von AI

In C# wird die Einschränkung des Parametertyps bei Generics mit dem Schlüsselwort where festgelegt. Es ermöglicht anzugeben, dass der Parametertyp von einer bestimmten Klasse erben, eine Schnittstelle implementieren, ein Referenz- oder Werttyp sein, einen parameterlosen Konstruktor haben usw.

Beispiel:

// Einschränkung: T muss eine Klasse sein, die IDisposable implementiert und einen parameterlosen Konstruktor hat
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Auf diese Weise stellt der Compiler sicher, dass bei der Verwendung von MyClass mit einem konkreten Typ T dieser die festgelegten Einschränkungen erfüllt.