2016-06-17 7 views

Antwort

7

List<T>.AsReadOnly() ist in einigen PCL-Profile zur Verfügung. Insbesondere jene Profile, das Ziel Windows 8/8.1 und Windows Phone 8.1 Nicht-Silverlight (32, 111, 259, usw. 328) wird wahrscheinlich nicht umfasst List<T>.AsReadOnly(), da dieses Verfahren auf nicht verfügbar ist diese Plattformen.

Die einfache Abhilfe ist die ReadOnlyCollection<T> über den Konstruktor zu erstellen:

List<T> list; 
var listToReadOnly = new ReadOnlyCollection<T>(list); 

Wenn Sie Ihren Quellcode Sie auch eine Erweiterungsmethode implementieren kann intakt halten wollen den Job zu erledigen. Fügen Sie einfach die folgende Methode in eine öffentliche statische Klasse ein:

public static ReadOnlyCollection<T> AsReadOnly<T>(this List<T> list) 
{ 
    return new ReadOnlyCollection<T>(list); 
}