4.11 Typargumente beschränken
Problem
Ihr generischer Typ muss mit einem Typargument erzeugt werden, das die Member eines bestimmten Interfaces wie beispielsweise des Interfaces IDisposable
unterstützt.
Lösung
Verwenden Sie Constraints, um zu erzwingen, dass das Typargument für einen generischen Typ einem Typ entspricht, der ein oder mehrere festgelegte Interfaces implementiert:
public class DisposableList<T> : IList<T>
where T : IDisposable
{
private List<T> _items = new List<T>( );
// Private Methode, die alle Elemente aus der Liste entfernt
private void Delete(T item)
{
item.Dispose( );
}
Die Klasse DisposableList
erlaubt als Typargument Klassen, die IDisposable
implementieren. Der Grund dafür ist, dass auf einem Objekt die Methode Dispose
aufgerufen ...
Get C# Kochbuch 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.