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.