通过传递类名和命名空间来调用函数

时间:2016-06-20 12:06:10

标签: c# wpf

我有一个WPF应用程序来传递类名和命名空间。我想创建该类的对象并调用一个函数。 我将作为ServiceReference1的名称空间和类名称作为CrewServiceClient从文本框传递为字符串。 我想创建如下的对象

ServiceReference1.CrewServiceClient cs = new ServiceReference1.CrewServiceClient(); 

并使用对象调用函数" cs"比如cs.ClientCredentials.UserName.UserName

1 个答案:

答案 0 :(得分:1)

您是否已尝试Activator.CreateInstance

Activator.CreateInstance("YourAssembly", "CrewServiceClient");

但是你应该定义一个接口来使用创建实例后的方法:

interface IServiceClient {
    string UserName;
}

class CrewServiceClient : IServiceClient {
    string UserName;
}

然后您可以执行以下操作:

var instance = (IServiceClient)Activator.CreateInstance("YourAssembly", "CrewServiceClient");
var userName = instance.UserName;