У меня есть 2 перегруженные функции C #, подобные этой:
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));
Есть ли способ сказать компилятору, чтобы он был умнее, чтобы мне не приходилось выполнить приведение типов? Или я сделал что-то не так?
РЕДАКТИРОВАТЬ: Добавил награду, потому что мне действительно интересно учиться. Спасибо за любой совет.