Здравствуйте, Serginio1, Вы писали:
S> InvokeMember брал на себя поиск нужного метода и передачу параметров params.
S>И соответственно встал вопрос как искать подходящий метод.
Для начала лучше перетащить разруливание перегрузок в managed-код. Дальше проще и зависит от задачи.
Подобрать перегрузку, зная типы аргументов? type.GetMethod("name", bindingFlags, argTypes) или как-то так.
Известны только значения? Пишем вызов любого метода через dynamic, с помошью декомпилятора смотрим что за код генерится под капотом, повторяем вручную. Ключевые слова для поиска — CallSite<T>, CallSiteBinder.
Первое попавшееся:
https://habrahabr.ru/post/144330/