问题
I've created a PCL project that targets .NET Framework 4 and Silverlight 5 (I use an extension for Visual Studio 2010, not portable project template from Visual Studio 2012, if that matters).
I am trying to reverse a string using System.Linq.Enumerable.Reverse<TSource>()
extension method, but it doesn't work because compiler thinks that System.String
doesn't implement IEnumerable<char>
.
回答1:
The Portable Class Libraries must restrict itself to the classes and methods that are available on all the target platforms it promises to support. The biggest trouble-maker here is WinRT, the CLR has a language projection that maps WinRT types to managed types. The System.String methods not supported by the projection are documented in this answer. GetEnumerator() is one of them.
来源:https://stackoverflow.com/questions/11557690/why-doesnt-string-class-implement-ienumerablechar-in-portable-library