首先在配置文件中添加appsetting节点:
<appSettings> <add key="AssemblyPath" value="ConsoleApp11"/> <add key="NameSpace" value="ConsoleApp11"/> <add key="ClassName" value="Student"/> </appSettings>
核心代码:
private static readonly string assemblyName = ConfigurationManager.AppSettings["AssemblyPath"];//程序集 private static readonly string nameSpace = ConfigurationManager.AppSettings["NameSpace"];//命名空间 private static readonly string className = ConfigurationManager.AppSettings["ClassName"];//类名 public static object CreateInstance(string assemblyName, string nameSpace, string className) { try { string fullName = nameSpace + "." + className;//命名空间.类型名 object ect = Assembly.Load(assemblyName).CreateInstance(fullName);//加载程序集,创建程序集里面的 命名空间.类型名 实例 return ect;//类型转换并返回 } catch (Exception ex) { Console.WriteLine(ex.Message + "===" + ex.StackTrace); return false; } }
控制台调用:
static void Main(string[] args) { DataBase db = CreateInstance(assemblyName, nameSpace, className) as DataBase; db.add(); Console.ReadKey(); }
DataBase是虚方法
原文:https://www.cnblogs.com/lkcq/p/11045059.html