Динамический вызов dll и метода с аргументами

В основном я пытаюсь вызвать dll по имени, создать экземпляр объекта, а затем вызвать метод по имени в этой dll. Я получаю «Исключение было выбрано целью вызова». во время метода.Invoke. Я вполне уверен, что моя проблема связана с приведением типов аргументов метода. Мне было интересно, есть ли у кого-нибудь какие-либо сведения об этом исключении. Кроме того, любые предложения о том, как пересмотреть мой подход, приветствуются.

public void calldll(string dllName, string typeName, string methodName, string arguments) {

    string[] argumentArray = arguments.Split(new char[] { '|' }, StringSplitOptions.None);

    Assembly assembly = Assembly.LoadFrom(dllName);
    System.Type type = assembly.GetType(typeName);
    Object o = Activator.CreateInstance(type);
    MethodInfo method = type.GetMethod(methodName);
    ParameterInfo[] parameters = method.GetParameters();

    object[] methodParameters = new object[parameters.GetLength(0)];

    for (int i = 0; i < parameters.Length - 1; i++)
    {
        var converter = TypeDescriptor.GetConverter(parameters[i].GetType());
        methodParameters[i] = converter.ConvertFrom(argumentArray[i]);
    }

    method.Invoke(o, methodParameters); }
6
задан crlanglois 9 August 2012 в 15:33
поделиться