我已經創建了一個面向.NET Framework 4和Silverlight 5的PCL項目(我使用的是Visual Studio 2010的擴展,而不是Visual Studio 2012中的可移植項目模板,如果有的話)。 我想使用System.Linq.Enumerable.Reverse<TSource>()
擴展方法來反轉字符串,但它不起作用,因爲編譯器認爲System.String
未實現IEnumerable<char>
。爲什麼String類在便攜庫中實現IEnumerable <char>?
回答
可移植類庫必須將自身限制爲它所承諾支持的所有目標平臺上可用的類和方法。這裏最大的麻煩製造者是WinRT,CLR有一個將WinRT類型映射到託管類型的語言投影。該投影不支持的System.String方法記錄在this answer中。 GetEnumerator()就是其中之一。
這很有道理,因爲我沒有選擇WinRT(實際上,它在框架選擇窗口中被稱爲.NET for Metro風格的應用)作爲目標框架。我想PCL應該作爲選定平臺/框架的交集。 – 2012-07-19 13:29:58
那麼,PCL的意義在於你有可能會選擇WinRT。 – 2012-07-19 13:34:03
似乎我們在這裏有些微不同的想法,但我現在要接受你的答案,因爲我沒有看到任何其他意義。謝謝! – 2012-07-19 18:11:36
- 1. 爲什麼ICollection <T>實現IEnumerable <T>和IEnumerable
- 2. 集合<T>:它爲什麼既實現IEnumerable又實現IEnumerable <T>?
- 3. 便攜式類庫
- 4. 在便攜式類庫
- 5. 爲什麼我不能使用HashSet <string>來實現一個IEnumerable接口屬性<string>?
- 6. 列表<string>和IEnumerable <String>有什麼區別?
- 7. 如何將IEnumerable <IEnumerable <IGrouping <int,string> >>轉換爲IEnumerable <IEnumerable <string>>
- 8. 在VS2015中創建便攜式類庫
- 9. 在便攜式類庫中包含XPathSelectElement
- 10. Netstandard庫 - 在便攜式類中引用
- 11. 便攜式類庫反射
- 12. 便攜式類庫,XmlAnyElementAttribute
- 13. MvvmCross便攜式類庫 - System.Net.ServicePointManager
- 14. 爲什麼TreeNodeCollection不能實現IEnumerable <TreeNode>?
- 15. 爲什麼IEnumerable <T>實現Add(T)?
- 16. 爲什麼ArrayList實現IList,ICollection,IEnumerable?
- 17. 爲什麼Hashtable實現ICollection和IEnumerable?
- 18. 什麼是便攜式輕量級彗星服務器實現?
- 19. IEnumerable的<string>和string []
- 20. 在便攜類中實現基於事件的異步模式
- 21. IEnumerable <IEnumerable <T>> to string [] []
- 22. System.Xml.Linq.XDocument類是否實現IEnumerable <T>?
- 23. 實現類似於Dictionary <string,string,Dictionary <string,string >>的好方法是什麼?
- 24. 自IEnumerable <string>
- 25. 從實體框架中呈現IEnumerable <string>框架通用知識庫
- 26. 獲取IEnumerable的JSON值<IEnumerable <string>>類型
- 27. 在C++/CLI中實現IEnumerable <T>
- 28. 爲什麼不實現字符串從<&String>?
- 29. 便攜式類庫中的sqlite
- 30. 便攜式類庫中的SqlConnection
你確定它沒有實現'IEnumerable',或者是Intellisense只是隱藏它嗎? –
CodesInChaos
2012-07-19 09:21:50
是的,我確定,當我嘗試構建它時遇到錯誤。 – 2012-07-19 09:24:41
嗯,只是檢查文檔,'GetEnumerator'確實不是PCL的一部分。什麼是MS思想...... – CodesInChaos 2012-07-19 09:26:30