У меня есть 2 перегруженные функции С#:
private void _Insert(Hashtable hash, string tablename, Func<string, object[], SqlCommand> command)
private void _Insert(Hashtable hash, string tablename, Func<string, object[], OleCommand> command)
В основном используется OleCommand и другой SqlCommand для возвращаемого значения функции.
Но уродство в этом заключается в том, что я должен отбросить указатель на правильный тип, даже если я чувствую, что компилятор должен решить его без проблем:
class RemoteDatabase
{
public SqlCommand GetCommand(string query, object[] values);
}
_Insert(enquiry, "Enquiry", (Func<string, object[], SqlCommand>)(_RemoteDatabase.GetCommand));
Есть ли способ сказать компилятору умнее, чтобы мне не пришлось делать литье типов? Или я сделал что-то неправильно?
EDIT: Добавлена щедрость, потому что мне очень интересно учиться. Спасибо за любой совет.