.AsReadOnly() 未包含 PCL 尽管它在 MSDN 中被列为受支持
.AsReadOnly() not included PCL despite it being listed as supported in MSDN
根据 MSDN,.AsReadOnly() 方法被列为受 PCL 支持,但我无法在我的 Xamarin PCL.[=13= 上引用它]
谁能验证一下?如果是这样,是否有替代 .AsReadOnly() 等价物的方法?
https://msdn.microsoft.com/en-us/library/e78dcd75(v=vs.100).aspx
https://developer.xamarin.com/api/member/System.Collections.Generic.List%3CT%3E.AsReadOnly()/
List<T>.AsReadOnly()
仅在某些 PCL 个人资料中可用。特别是那些针对 Windows 8/8.1 和 Windows Phone 8.1 非 Silverlight 的配置文件(32、111、259、328 等)可能 not 包含 List<T>.AsReadOnly()
,因为此方法在这些平台上 not 可用.
简单的解决方法是通过构造函数创建 ReadOnlyCollection<T>
:
List<T> list;
var listToReadOnly = new ReadOnlyCollection<T>(list);
如果你想保持你的源代码完整,你甚至可以实现一个扩展方法来完成这项工作。只需在 public static class:
中包含以下方法
public static ReadOnlyCollection<T> AsReadOnly<T>(this List<T> list)
{
return new ReadOnlyCollection<T>(list);
}
根据 MSDN,.AsReadOnly() 方法被列为受 PCL 支持,但我无法在我的 Xamarin PCL.[=13= 上引用它]
谁能验证一下?如果是这样,是否有替代 .AsReadOnly() 等价物的方法?
https://msdn.microsoft.com/en-us/library/e78dcd75(v=vs.100).aspx
https://developer.xamarin.com/api/member/System.Collections.Generic.List%3CT%3E.AsReadOnly()/
List<T>.AsReadOnly()
仅在某些 PCL 个人资料中可用。特别是那些针对 Windows 8/8.1 和 Windows Phone 8.1 非 Silverlight 的配置文件(32、111、259、328 等)可能 not 包含 List<T>.AsReadOnly()
,因为此方法在这些平台上 not 可用.
简单的解决方法是通过构造函数创建 ReadOnlyCollection<T>
:
List<T> list;
var listToReadOnly = new ReadOnlyCollection<T>(list);
如果你想保持你的源代码完整,你甚至可以实现一个扩展方法来完成这项工作。只需在 public static class:
中包含以下方法public static ReadOnlyCollection<T> AsReadOnly<T>(this List<T> list)
{
return new ReadOnlyCollection<T>(list);
}