private void frmPluginTest_Load(object sender, EventArgs e) { string[] dllFilenames = Directory.GetFiles(@"P:\PJKPlugin\TabPagePlugins","TabPage*.dll"); foreach (string filename in dllFilenames) { try { Assembly asm = Assembly.LoadFrom(filename); Type[] typesInAssembly = asm.GetTypes(); foreach (Type type in typesInAssembly) { if (type.IsSubClassOf.GetInterface(typeof(PJKPlugins.ICMSTabPage))) { PJKTabPage oTP = (PJKTabPage)asm.CreateInstance(type.Namespace + "." + type.Name); this.PluginTabControl.Controls.Add(oTP); } } } catch { // Not a valid assembly, move on } } }~~Bonnie
>private void frmPluginTest_Load(object sender, EventArgs e) >{ > string[] dllFilenames = Directory.GetFiles(@"P:\PJKPlugin\TabPagePlugins","TabPage*.dll"); > foreach (string filename in dllFilenames) > { > try > { > Assembly asm = Assembly.LoadFrom(filename); > Type[] typesInAssembly = asm.GetTypes(); > foreach (Type type in typesInAssembly) > { > if (null != type.GetInterface(typeof(PJKPlugins.ICMSTabPage).FullName)) > { > PJKTabPage oTP = Activator.CreateInstance(type) as PJKTabPage; > this.PluginTabControl.Controls.Add(oTP); > } > } > } > catch > { > // Not a valid assembly, move on > } > } >} >