Я перефакторинг некоторого кода, который использует следующую конструкцию.То, что я хотел бы сделать, это сделать этот универсальный, чтобы я мог иметь другие типы параметров в Func.
IDictionary<string, Func<Employee, string>>
Я попытался использовать:
IDictionary<string, Func<Object, string>>
Затем приведение егоназад:
(IDictionary<string, Func<Object, string>>)myDictionary
Но я получаю исключение, говорящее, что я не могу привести
Невозможно привести объект типа System.Collections.Generic.Dictionary 2[System.String,System.Func
2...
Я играл с дженериками, но это, кажется, дошло до того, что я не смог настроить и родовое поле в своем классе
private IDictionary<string, Func<T, string>> lineSpecification;
Идетвокруг в кругах, так что любые указатели будут оценены.
РЕДАКТИРОВАТЬ:
Это полное сообщение об исключении, которое я получаю:
System.InvalidCastException : Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Func`2[DataObjects.Employee,System.String]]' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'.