tengo 2 sobrecargados C# funciona como este:C# función de puntero en función sobrecargada
private void _Insert(Hashtable hash, string tablename, Func<string, object[], SqlCommand> command)
private void _Insert(Hashtable hash, string tablename, Func<string, object[], OleCommand> command)
Básicamente uno utilizando OleCommand y el otro SqlCommand para el valor de retorno de la función.
Pero lo feo de esto es que tengo a emitir el puntero de función al tipo correcto a pesar de que me siento el compilador debe ser capaz de resolver sin problemas:
class RemoteDatabase
{
public SqlCommand GetCommand(string query, object[] values);
}
_Insert(enquiry, "Enquiry", (Func<string, object[], SqlCommand>)(_RemoteDatabase.GetCommand));
¿Hay dicen ninguna manera el compilador es más inteligente para que yo no tenga que hacer el tipo de conversión? ¿O hice algo mal?
EDITAR: Se ha añadido una recompensa porque estoy realmente interesado en aprender. Gracias por cualquier consejo.
wow .. todas las respuestas tienen 4 votos cada uno! ¿Cómo puedo decidir? – Jake
C# 4.0 también podría resolver esto para escenarios 'dinámicos', sin embargo, habría un golpe de rendimiento. –