2016-06-20 6 views
-2

Ich habe eine WPF-Anwendung Klassenname und Namespace übergeben. Ich möchte ein Objekt dieser Klasse erstellen und eine Funktion aufrufen. Übergeben Namespace als ServiceReference1 und Klassenname als CrewServiceClient aus Textfeld als Zeichenfolge. Ich möchte wie wie cs.ClientCredentials.UserName.UserName unterFunktion aufrufen, indem Klassenname und Namespace übergeben werden

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

und Funktionen Objekt erstellen, rufen Sie das Objekt „cs“ mit

Antwort

1

Sie Activator.CreateInstance bereits versucht haben?

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

Aber Sie sollten eine Schnittstelle verwenden, um die Methoden nach der Schaffung der Instanz definieren:

interface IServiceClient { 
    string UserName; 
} 

class CrewServiceClient : IServiceClient { 
    string UserName; 
} 

Dann können Sie wie folgt vorgehen:

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

„YourAssebly“ bedeutet Namespace? – Raveesh

+0

Ich habe gerade meinen Beitrag bearbeitet, um es klarzustellen. – rbr94

Verwandte Themen