Tengo las siguientes clases y yo estoy tratando de llamar a comparar el método de la clase ExportFileBaseBL pero me sale el errorC# genéricos - pidiendo método genérico de una clase genérica
No se puede convertir implícitamente el tipo 'Clase 1' a 'T' . existe una conversión explícita (¿falta un yeso?)
public abstract class Class1<T> where T: Class2
{
public abstract Class1<T> Compare(Class1<T> otherObj);
}
public abstract class Class3<T, U> where T: Class1<U>
where U: Class2
{
public T Compare(T obj1, T obj2)
{
if (obj1.Prop1 > obj2.Prop1)
{
return obj1.Compare(obj2); // Compiler Error here
}
else
{
return obj2.Compare(obj1); // Compiler Error here
}
}
}
No debería la conversión de tipo implícito? ¿Me estoy perdiendo de algo?
Gracias Dan, eso responde mi pregunta. – logik6
Jup jup, ahora que hemos agregado una actualización sobre el método de comparación, estoy de acuerdo con la respuesta. – jcolebrand