2010-06-04 17 views
5

Tengo una DataTable que intento enumerar con el método de extensión AsEnumerable en System.Linq.Enumerable. El problema es que hay un método de extensión con un nombre idéntico en System.Data.DataTableExtensions. Necesito usar ambos espacios de nombres en mi clase, por lo que eliminar una de las instrucciones de uso no es una opción.¿Cómo resolver un método de extensión ambiguo?

¿Cómo declaro que deseo el método AsEnumerable de System.Linq.Enumerable y no System.Data.DataTableExtensions?

Respuesta

3

Son métodos estáticos simplemente por lo que podría hacer esto:

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

Gracias, lo aceptaré como la respuesta. Sin embargo, esperaba que hubiera una forma de seguir usando el método de extensión. –

4

DataTable no implementa IEnumerable <T>, o incluso IEnumerable, por lo que no se puede llamar Enumerable.AsEnumerable() en él directamente. Eso es lo que es DataTableExtensions.AsEnumerable() en primer lugar.

+0

Creo que tienes razón. Por alguna razón, VS me estaba dando el error ambiguo para ese método que provocó la pregunta, y ahora no puedo recrearlo. Accidentalmente voté por ti, si editas tu respuesta, te votaré nuevamente. –

Cuestiones relacionadas