ich diese Klasse haben:Was bedeutet das: Class <T> where T: Klasse
public static class Repository<T> where T : class
{
....
}
Ich verstehe public
und static
und class
und Repository<T>
, aber ich bin nicht zu verstehen, dieses:
where T : class
Ist Repository
Erweiterung oder Implementierung class
? Oder bezieht sich die : class
auf den Typ <T>
?
!! AUCH !!:
Und wenn ich eine abstrakte Basisklasse haben DataAccessBase
, dass ich diese Klasse wollen Repository
erben, wie kann ich das tun?
Es ist ein [Typ Einschränkung] (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/constraints-on-type-parameters). –
Die Deklarationen nach 'where T' beziehen sich auf den' T'-Typ. Außerdem werden Sie es wie jede andere generische Klasse instanziieren, die ': class' beschränkt die Typen auf Referenztypen, nicht auf Werttypen. – Gusman
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/where-generic-type-constraint –