Мне нужно вызывать методы для типа через отражение с использованием C #.
Во время выполнения мои данные будут состоять из словаря, содержащего пары имя / значение.Имена в Словаре будут соответствовать именам параметров в методе, который я буду вызывать.Кроме того, во время выполнения у меня будет произвольное имя с указанием типа сборки и имя метода.Во время разработки у меня не будет никаких сведений о типе и методе, кроме того, что метод будет принимать переменное число параметров типа int, string, DateTime, bool, int [], string [], DateTime [] или bool[].
У меня нет проблем с тем, чтобы я смог создать экземпляр типа, используя отражение, и вызвать метод.Я застрял в точке, где мне нужно преобразовать строковые значения в моем словаре в соответствующий тип, необходимый для метода, когда я вызываю:
someMethodInfo.Invoke(instance, new [] { ... })
Я знаю, что мне нужно, вероятно, перечислить через MethodInfo.GetParameters() и выполните преобразование типа для каждого параметра.Я пытаюсь понять, как это сделать, и в идеале, как это сделать эффективно.
До сих пор мое исследование включало копание в исходный код MVC, так как оно делает нечто подобное при передаче значений формы вActionMethod.Я нашел ActionMethodDispatcher , но он использует выражения LINQ, с которыми я незнаком.
Я также смотрел похожие вопросы по SO, но не нашел ничего, что отвечало бы на мой вопрос.1015 * Буду рад любым указателям на решение.