//步骤
//1 加载dll文件
//2 获取dll文件中的类型
//3 操作

#region 通过反射获取所有的类型 //string filePath = @"C:\lv\C#练习\01Reflection\lab1\bin\Debug\lab1.dll"; //Assembly asm = Assembly.LoadFile(filePath); //Type[] typeItem = asm.GetTypes(); //foreach (Type item in typeItem) //{ // Console.WriteLine(item.Name); //} #endregion #region 通过反射获取某一个类型 //Type typeItem = asm.GetType("lab1.person"); //MethodInfo[] method = typeItem.GetMethods(); //foreach (MethodInfo item in method) //{ // Console.WriteLine(item.Name); //} #endregion #region 通过反射调用类中的方法 //步骤 //1 加载程序集 //2 获取类类型 //3 获取函数 //4 调用方法 string filePath = @"C:\lv\C#练习\01Reflection\lab1\bin\Debug\lab1.dll"; Assembly sem = Assembly.LoadFile(filePath); Type typeItem = sem.GetType("lab1.person"); MethodInfo method = typeItem.GetMethod("SayHi"); object obj = Activator.CreateInstance(typeItem); method.Invoke(obj, null); #endregion Console.ReadKey();