CSharp:如何动态调用类(带构造函数)及其方法?

我已经阅读了两天反思的例子,我似乎无法把所有东西拼凑起来以满足我的需要。事实上我以为我在使用反射,直到我注意到我的“使用System.Reflection”变灰了。 :-) 我有一个xml文件,其中包含我的类名和包含在其中的方法。方法的顺序甚至名称都可以改变。一旦我读完它们,我希望能够执行它们。看起来很简单。 我有以下测试代码:
    // myClassName = "namespace.TransactionServices"
    Type tb = Type.GetType(myClassName);

    // Classes will always have the same constructor
    object classInstance = Activator.CreateInstance (
        tb, 
        new object[] 
        {
            authorization.apiKey, 
            authorization.userName, 
            testData.servicesEndPoint
        });

    //Grab the method I want

    //myMethodName = "GetVersion"
    MethodInfo mymethod = tb.GetMethod(myMethodName);
    // no parameters for this method call
    object result = mymethod.Invoke(classInstance, null);
tb为空。我只是试图获得用于创建类的正确API,但我甚至不知道我拥有的其余部分是否有效。 有什么建议? 谢谢 编辑:添加命名空间。 Activator.CreateInstance返回错误,找不到构造函数..它就在那里。     
已邀请:
您确定指定了包括命名空间的完整类名吗?如果没有命名空间,结果将为null。     
类名必须是完全限定的(包括命名空间,最有可能是程序集),以便解析它。如果您知道该类位于当前正在执行的程序集中,则可以使用Assembly.GetExecutingAssembly()。GetType()     
对于GetType,您必须提供完全限定的名称。您可以使用它来获取现有对象
MyObject.GetType().AssemblyQualifiedName;
    

要回复问题请先登录注册