Tôi đã tạo một dự án PCL nhắm mục tiêu .NET Framework 4 và Silverlight 5 (tôi sử dụng phần mở rộng cho Visual Studio 2010, không phải mẫu dự án di động từ Visual Studio 2012, nếu có vấn đề). Tôi đang cố đảo ngược một chuỗi bằng cách sử dụng phương pháp mở rộng System.Linq.Enumerable.Reverse<TSource>()
, nhưng nó không hoạt động vì trình biên dịch cho rằng System.String
không triển khai IEnumerable<char>
.Tại sao lớp String không thể thực hiện IEnumerable <char> trong thư viện di động?
Trả lời
Thư viện lớp học di động phải tự giới hạn các lớp và phương thức có sẵn trên tất cả các nền tảng đích mà nó hứa hẹn hỗ trợ. Vấn đề gây rắc rối lớn nhất ở đây là WinRT, CLR có một phép chiếu ngôn ngữ ánh xạ các kiểu WinRT tới các kiểu được quản lý. Các phương thức System.String không được hỗ trợ bởi phép chiếu được ghi lại trong this answer. GetEnumerator() là một trong số chúng.
Điều đó có ý nghĩa, bởi tôi đã không chọn WinRT (trên thực tế, nó được gọi là .NET cho các ứng dụng phong cách Metro trong cửa sổ chọn khung) làm khung mục tiêu. Tôi đoán PCL nên hoạt động như một giao điểm của các nền tảng/khung được chọn. –
Vâng, quan điểm của PCL là bạn * có thể * chọn WinRT một ngày nào đó. –
Dường như chúng ta có những tầm nhìn hơi khác nhau ở đây, nhưng bây giờ tôi sẽ chấp nhận câu trả lời của bạn, vì tôi không thấy bất kỳ điểm nào khác có ý nghĩa. Cảm ơn! –
- 1. Tại sao IEnumerable <struct> không thể xem như IEnumerable <object>?
- 2. IEnumerable <string> chuỗi
- 3. Tại sao java.util.Properties thực hiện Bản đồ <Object, Object> và không phải Bản đồ <String, String>
- 4. Tại sao IEnumerable <T> kế thừa từ IEnumerable?
- 5. Tại sao tôi không thể tạo từ điển <string, dictionary <string, string >>?
- 6. Không thể bật di chuyển cho Khung thực thể trong thư viện lớp
- 7. System.Tuple ở đâu trong thư viện lớp di động?
- 8. Tại sao không có lớp ReadOnlyList <T> trong thư viện System.Collections của C#?
- 9. Cách tạo Chủ đề trong thư viện lớp di động?
- 10. sử dụng Json trong Thư viện lớp học di động
- 11. Thư viện lớp di động tương đương với MethodBase.GetCurrentMethod
- 12. Tại sao không Cast <double>() hoạt động trên IEnumerable <int>?
- 13. Tại sao không có << trong thư viện chuẩn Haskell?
- 14. Tùy chỉnh Cấu hình Thư viện Lớp Di động .NET?
- 15. Có thể sử dụng Thư viện lớp di động tham chiếu System.Net trong MonoDroid không?
- 16. Truyền từ IEnumerable <Object> tới IEnumerable <string>
- 17. Thùng chứa IoC cho Thư viện Lớp Di động
- 18. Tại sao ArrayList thực hiện IList, ICollection, IEnumerable?
- 19. Thay thế cho ConcurrentDictionary cho thư viện lớp di động
- 20. Tại sao TreeNodeCollection không ngụ ý IEnumerable <TreeNode>?
- 21. Tại sao một chức năng mất IEnumerable <interface> không chấp nhận IEnumerable <class>?
- 22. Thư viện lớp di động cho MonoDroid và MonoTouch
- 23. Làm thế nào để thực hiện IEnumerable <T>
- 24. Thư viện <random> có trong C++ 11 di động không?
- 25. Tạo HiddenFor IEnumerable <String> trong Xem
- 26. Visual Studio Visualizer cho IEnumerable <string>
- 27. Tại sao không VS 2008 phương pháp khuyến nông trưng bày tại Intellisense cho lớp String
- 28. Thư viện VFS di động C++
- 29. Tại sao IList <T> không có phương thức Chèn lấy IEnumerable <T>?
- 30. Mô hình Khung thực thể di chuyển vào thư viện lớp từ dự án web
Bạn có chắc chắn nó không thực hiện 'IEnumerable', hay là Intellisense chỉ ẩn nó? –
CodesInChaos
Có, tôi chắc chắn, tôi gặp lỗi khi cố gắng xây dựng nó. –
Hmm chỉ cần kiểm tra các tài liệu, và 'GetEnumerator' thực sự không phải là một phần của PCL. Điều gì đã được MS suy nghĩ ... – CodesInChaos