Почему я не могу использовать System.ValueType в качестве ограничения обобщений?
Почему я не могу использовать ограничение
where T : System.ValueType
?Почему Microsoft предотвращает ограничение этого типа?Пример:
Почему я не могу сделать следующее?
// 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); }
Какая разница в использовании структуры над ValueType?
// Defined in my class
public void foo<T>(T a) where T : struct
{ bar<T>(a); }