Как правильно хранить разношерстные делегаты?
Допустим, есть класс, которому подается на вход объект и Expression<T,TProp>.
Я компилирую данное выражение и куда-то должен сохранить до лучших времен, когда мне потребуется доступ к данному свойству.
И вот вопрос в том, как правильно или может быть удобнее для дальнейшего использования это все хранить в какой-нибудь типизированной коллекции?
В коллекции Func<object,object> хранить не получается, так как компилятор ругается.
И тут у меня 2 варианта:
Обернуть функцию сверху в Func<object,object>, а в теле делать приведение типа до (T)
Кастануть все в базовый тип Delegate, но по моему больше мороки.