Ich habe ein Beispiel:Kann ich Activator.CreateInstance mit einer Schnittstelle verwenden?
Assembly asm = Assembly.Load("ClassLibrary1");
Type ob = asm.GetType("ClassLibrary1.UserControl1");
UserControl uc = (UserControl)Activator.CreateInstance(ob);
grd.Children.Add(uc);
Es eine Instanz einer Klasse Ich schaffe, aber wie kann ich eine Instanz einer Klasse zu erstellen, die eine gewisse Schnittstelle implementiert? d. h. UserControl1 implementiert ILoad Schnittstelle.
U: Ich kann Objekt später zu Schnittstelle umwandeln, aber ich weiß nicht, welcher Typ in den Baugruppen die Schnittstelle implementiert.
Sie keine Instanz einer Schnittstelle schaffen; Sie können die Klasse erstellen, die die Schnittstelle implementiert, und sie als Schnittstelle übergeben. – Marco
Sie können ein Objekt vom Typ ILoad nicht instanziieren, es ist eine Schnittstelle. – JustinDanielson