que no entiendo lo que está pasando aquí ...C enumeración de error # boxeo con los genéricos
Tengo el siguiente error: El tipo 'TestApp.TestVal'
no se puede utilizar como parámetro de tipo 'T'
en el tipo genérico o método 'TestApp.SomeClass<T>'
. No hay conversión de boxeo de 'TestApp.TestVal'
a 'System.IComparable<TestApp.TestVal>'
.
Este error ocurre por el siguiente código:
public enum TestVal
{
First,
Second,
Third
}
public class SomeClass<T>
where T : IComparable<T>
{
public T Stored
{
get
{
return storedval;
}
set
{
storedval = value;
}
}
private T storedval;
}
class Program
{
static void Main(string[] args)
{
//Error is on the next line
SomeClass<TestVal> t = new SomeClass<TestVal>();
}
}
Dado que la enumeración es un int
por defecto y int de implementar la interfaz IComparable<int>
parece que no debería haber un error ....
de int IComparable pero eso no quiere decir RandomEnumType implementa IComparable . –
AakashM