Por que não posso usar System.ValueType como uma restrição genérica?
Por que não posso usar uma restrição de
where T : System.ValueType
?Por que a Microsoft impede que esse tipo seja uma restrição?Exemplo:
Por que não posso fazer o seguinte?
// Defined in a .Net class
public void bar<T>(T a) where T : ValueType {...}
// Defined in my class
public void foo<T>(T a) where T : ValueType
{ bar<T>(a); }
Qual é a diferença no uso de struct sobre ValueType?
// Defined in my class
public void foo<T>(T a) where T : struct
{ bar<T>(a); }