Как правильно хранить разношерстные делегаты?

Допустим, есть класс, которому подается на вход объект и Expression<T,TProp>.

Я компилирую данное выражение и куда-то должен сохранить до лучших времен, когда мне потребуется доступ к данному свойству.

И вот вопрос в том, как правильно или может быть удобнее для дальнейшего использования это все хранить в какой-нибудь типизированной коллекции?

В коллекции Func<object,object> хранить не получается, так как компилятор ругается.

И тут у меня 2 варианта:

  1. Обернуть функцию сверху в Func<object,object>, а в теле делать приведение типа до (T)

  2. Кастануть все в базовый тип Delegate, но по моему больше мороки.


Ответы (0 шт):