Constraints
Bisweilen müssen Sie sicherstellen, dass Elemente, die Sie einer generischen Liste hinzufügen, bestimmten Anforderungen (Constraints) entsprechen (z.B. von einer gegebenen Basisklasse abgeleitet sind oder ein bestimmtes Interface implementieren). Im folgenden Beispiel erstellen wir eine vereinfachte, einfach verkettete und sortierbare Liste. Die Liste besteht aus Knoten (Node
), und es muss garantiert sein, dass jeder Node
das Interface IComparer
implementiert. Dazu verwenden wir die folgende Anweisung:
public class Node<T> :
IComparable<Node<T>> where T : IComparable<T>
Damit definieren wir einen generischen Node
, der einen Typ T
umfasst. Node
von T
implementiert das Interface IComparable<T>
, dies bedeutet, dass zwei Objekte des Typs ...
Get Programmieren mit C# 3.0 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.