He la interfaz siguiente que devuelve el parámetro genérico de tipo T usando una devolución de llamada ...C# Genéricos: si T es un tipo de devolución, ¿también puede ser nulo? ¿Cómo puedo combinar estas interfaces?
public interface IDoWork<T>
{
T DoWork();
}
sin embargo también tengo la siguiente interfaz, así, pero no va a invocar una devolución de llamada, ya que devuelve void .
public interface IDoWork
{
void DoWork();
}
¿Puedo combinar estas dos interfaces y usar la lógica de tiempo de ejecución para determinar la diferencia? ¿Cómo puedo hacer eso?
Lástima que no estés en tierra de Java, ya que serías totalmente capaz de hacer algo como 'IDoWork ...'. Estoy sorprendido de que C# no ofrezca tal cosa. –
@ChrisCashwell, eso es porque los genéricos .NET están integrados en el CLR, mientras que en Java es solo un truco de compilación (la JVM no sabe nada sobre los genéricos en el tiempo de ejecución). Si bien esto suele ser una ventaja de los genéricos .NET, también significa que las reglas son más estrictas ... –
@ThomasLevesque ¿Dónde puedo obtener más información sobre cómo el enfoque de .NET es una ventaja sobre Java? – LamonteCristo