He estado intentando y tratando de hacer que mis métodos de extensión genéricos funcionen, pero simplemente se niegan y no puedo entender por qué. This thread didn't help me, although it should.Agregando métodos de extensión genéricos a interfaces como IEnumerable
Por supuesto he admirado cómo, en todas partes veo que dicen que es simple y que debería estar en esta sintaxis:
(En algunos lugares he leído que tengo que añadir "donde T: [Tipo .]" después de la decleration parámetro, pero mi VS2010 sólo dice que es un error de sintaxis)
using System.Collections.Generic;
using System.ComponentModel;
public static class TExtensions
{
public static List<T> ToList(this IEnumerable<T> collection)
{
return new List<T>(collection);
}
public static BindingList<T> ToBindingList(this IEnumerable<T> collection)
{
return new BindingList<T>(collection.ToList());
}
}
pero eso simplemente no funciona, me sale este error:
The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)
si yo sustituyo
public static class TExtensions
por
public static class TExtensions<T>
se da este error:
Extension method must be defined in a non-generic static class
será muy apreciada Cualquier ayuda, realmente estoy atascado aquí.
Oh, Dios sabía era algo estúpido como eso. ¡Gracias un montón! No puedo creer que me perdí eso>< – FrieK