2010-06-04 4 views
5

Ich habe eine DataTable, die ich mit der Erweiterungsmethode AsEnumerable auf System.Linq.Enumerable aufzählen möchte. Das Problem besteht darin, dass in System.Data.DataTableExtensions eine identisch benannte Erweiterungsmethode vorhanden ist. Ich muss beide Namespaces in meiner Klasse verwenden, daher ist das Entfernen einer der using-Anweisungen keine Option.Wie löst man die ambivalent benannte Erweiterungsmethode auf?

Wie deklariere ich, dass ich die AsEnumerable-Methode von System.Linq.Enumerable und nicht die System.Data.DataTableExtensions möchte?

Antwort

3

Sie sind nur statische Methoden, so dass Sie dies tun könnte:

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

Danke, ich werde das als Antwort akzeptieren. Ich hatte gehofft, dass es eine Möglichkeit gibt, die Erweiterungsmethode trotzdem zu verwenden. –

4

Datatable nicht implementiert IEnumerable <T> oder sogar IEnumerable, so dass Sie nicht Enumerable.AsEnumerable() auf ihn direkt anrufen können. Das ist, was DataTableExtensions.AsEnumerable() für in erster Linie ist.

+0

Ich denke, du hast Recht. Aus irgendeinem Grund gab VS mir den mehrdeutigen Fehler für diese Methode, die die Frage ausgelöst hat, und jetzt kann ich sie nicht neu erstellen. Ich habe dich aus Versehen abgelehnt, wenn du deine Antwort redest, werde ich dich wieder wählen. –

Verwandte Themen