En mi intento de comprender C# correctamente, me pregunto cuáles son las diferencias prácticas entre especificar una restricción de interfaz en un argumento de método genérico y simplemente especificar la interfaz como el tipo de argumento.Restricción de interfaz en argumentos de método genérico
public interface IFoo
{
void Bar();
}
public static class Class1
{
public static void Test1<T> (T arg1) where T : IFoo
{
arg1.Bar();
}
public static void Test2(IFoo arg1)
{
arg1.Bar();
}
}
EDITAR
sé mi ejemplo es muy estrecha, ya que es sólo un ejemplo. Estoy bastante interesado en las diferencias que están fuera de su alcance.
Posible duplicado de [ventaja práctica de los genéricos frente a las interfaces] (http://stackoverflow.com/questions/7224675/practical-advantage -of-generics-vs-interfaces) –