Здравствуйте, Serginio1, Вы писали:
S>1. CallSite под определенную сигнатуру (CallSite<Action<CallSite, Type, object, object>> )
Угу. Но нагенерить конечное количество не проблема как бы, достаточно прошвырнуться по GetMethods().
S>2. Как определить с params (удобно передавать без массива)
Не, ну до такой степени лениться — это уже перебор
Первый вызов в примере.
S>3. Каково время на компиляцию если для каждого вызова нужно создавать CallSite?
Хитрый план:
1. Взять штуку, которая используется под капотом IronPython/IronRuby/прочих динамических языков под CLR.
2. Подозревать, что оно может тормозить.
Не для каждого, а для первого. CallSite кэширует сгенеренные делегаты.
S> Пока это мало чем отличается от T.GetMethod(имяМетода,Type[] типы);
Не вопрос, как сделаете корректное разруливание перегрузок по значениям аргументов в GetMethod() — так сразу и приходите.
P.S. И чистите при ответе оверквотинг
Глаза же вылазят.