capypad
0 Tage Serie
csharp / intermediate
Snippet

Einschränken von Typparametern mit Generic Constraints

Generic Constraints ermöglichen es, die Typen einzuschränken, die als Argumente für einen Typparameter verwendet werden können. Durch 'where T : class, new()' stellen wir sicher, dass T ein Referenztyp ist und einen öffentlichen parameterlosen Konstruktor besitzt.

snippet.csharp
csharp
1
2
3
4
5
6
7
public class Repository<T> where T : class, new()
{
public T CreateInstance()
{
return new T();
}
}
Erklärung
1
where T : class
Stellt sicher, dass der Typparameter T ein Referenztyp sein muss (Klasse, Interface, Delegat oder Array).
2
new()
Gibt an, dass der Typ T einen öffentlichen parameterlosen Konstruktor haben muss, was die Verwendung von 'new T()' ermöglicht.