2010-06-04 59 views
5

我有一個DataTable,我想用System.Linq.Enumerable上的AsEnumerable擴展方法來枚舉。問題是System.Data.DataTableExtensions上有一個同名的擴展方法。我需要在我的類中使用兩個名稱空間,因此刪除其中一個using語句不是一個選項。如何解決命名不明的擴展方法?

我該如何聲明我想從System.Linq.Enumerable獲取AsEnumerable方法,而不是System.Data.DataTableExtensions?

回答

3

他們只是靜態方法,所以你可以這樣做:

DataTable dt; 
System.Linq.Enumerable.AsEnumerable(dt); 
+0

謝謝,我會接受這個答案。儘管如此,我還是希望能夠繼續使用擴展方法。 – 2010-06-04 19:34:03

4

DataTable中不實現IEnumerable <牛逼>,甚至IEnumerable的,所以你不能直接調用它Enumerable.AsEnumerable()。這首先是DataTableExtensions.AsEnumerable()

+0

我認爲你是對的。由於某種原因,VS給了我一個模糊的錯誤,提示這個問題,現在我不能重新創建它。我意外地投票給你,如果你編輯你的答案,我會投票給你。 – 2010-06-04 20:03:41