我有一個類,Deck
,其中包含一種稱爲Shuffle
的方法。爲什麼我不能在擴展List的類中調用OrderBy?
我正在致力於重構Deck
以擴展List<Card>
,而不是將List<Card> Cards
作爲屬性。然而,雖然Cards.OrderBy (a => Guid.NewGuid())
工作,OrderBy (a => Guid.NewGuid())
並不:
Error CS0103: The name 'OrderBy' does not exist in the current context (CS0103)
爲什麼這個不行?
要理解爲什麼大家堅持不應該從'List'繼承,請看這篇文章:http://blogs.msdn.com/kcwalina/archive/2005/09/26/474010.aspx實際上,雖然你從遺漏列表遺漏了一些東西(例如收藏修改的通知),但如果你沒有在公共API中使用繼承類,如果你想使用它,完全取決於你'列出'作爲你的基礎班。不是從'List '繼承的是一個推薦,而不是一條硬性規則。 –
2010-01-27 02:02:41
感謝您的鏈接,@Kyralessa。該建議似乎是一個很好的建議。繼承列表首先是一個糟糕的主意,而列表不是被設計爲繼承的事實,這使得它變得更糟。 –
2010-01-27 02:13:29