我有一個DataTable,我想用System.Linq.Enumerable上的AsEnumerable擴展方法來枚舉。問題是System.Data.DataTableExtensions上有一個同名的擴展方法。我需要在我的類中使用兩個名稱空間,因此刪除其中一個using語句不是一個選項。如何解決命名不明的擴展方法?
我該如何聲明我想從System.Linq.Enumerable獲取AsEnumerable方法,而不是System.Data.DataTableExtensions?
我有一個DataTable,我想用System.Linq.Enumerable上的AsEnumerable擴展方法來枚舉。問題是System.Data.DataTableExtensions上有一個同名的擴展方法。我需要在我的類中使用兩個名稱空間,因此刪除其中一個using語句不是一個選項。如何解決命名不明的擴展方法?
我該如何聲明我想從System.Linq.Enumerable獲取AsEnumerable方法,而不是System.Data.DataTableExtensions?
他們只是靜態方法,所以你可以這樣做:
DataTable dt;
System.Linq.Enumerable.AsEnumerable(dt);
DataTable中不實現IEnumerable <牛逼>,甚至IEnumerable的,所以你不能直接調用它Enumerable.AsEnumerable()
。這首先是DataTableExtensions.AsEnumerable()
。
我認爲你是對的。由於某種原因,VS給了我一個模糊的錯誤,提示這個問題,現在我不能重新創建它。我意外地投票給你,如果你編輯你的答案,我會投票給你。 – 2010-06-04 20:03:41
謝謝,我會接受這個答案。儘管如此,我還是希望能夠繼續使用擴展方法。 – 2010-06-04 19:34:03