Assembly a = Assembly.GetExecutingAssembly();
object instance = a.CreateInstance(“Xianfen.NET.TestDynamic.Me”); //Me 是类
Type type = instance.GetType();
MethodInfo mi = type.GetMethod(“GetName”);
object result = mi.Invoke(instance, null);
Assembly myassembly = Assembly.LoadFile(@“C:\Users\WS\Desktop\WindowForm\StudyProgram\ClassLibrary\bin\Debug\ClassLibrary.dll”);
Type type = myassembly.GetTypes()[0];
MemberInfo[] members = type.GetMembers();
FieldInfo[] fields = type.GetFields();
Object[] params_obj = new Object[1];
params_obj[0] = “jiaopeng”;
string a = type.GetMethods()[0].ToString();
object instance = myassembly.CreateInstance(myassembly.GetTypes()[0].FullName);
type.GetField(“Name”).SetValue(instance, “张三”);
object value = myassembly.GetTypes()[0].GetMethods()[0].Invoke(instance, new object[1] { “AAAA” });
//加载程序集
Assembly myassembly_2 = Assembly.LoadFile(@“C:\Users\WS\Desktop\Test\Winform\Client\Client\bin\Debug\Client.exe”);
//获取类型
Type[] type_2 = myassembly_2.GetTypes();
//实例
object instance_2 = myassembly_2.CreateInstance(type_2[0].FullName);
(instance_2 as Form).Show();
Assembly myassembly = Assembly.LoadFrom(@“C:\Users\WS\Desktop\WindowForm\StudyProgram\ClassLibrary\bin\Debug\ClassLibrary.dll”);
Type[] type = myassembly.GetTypes();
Type t_Function = myassembly.GetTypes()[0];
AppDomain myDomain = AppDomain.CreateDomain(“NewDomain”);
var aa = myassembly.GetTypes()[1].FullName;
string a = myassembly.GetTypes()[0].Namespace;
string b = myassembly.GetTypes()[0].ToString();
var obj = myDomain.CreateInstance(“ClassLibrary”, “ClassLibrary.LoginInfo”).Unwrap();
Type type1 = obj.GetType();
NewClassw nc = new NewClassw();
Type t = nc.GetType();
ConstructorInfo[] ci = t.GetConstructors();
//获取类的所有构造函数
foreach (ConstructorInfo c in ci)
//遍历每一个构造函数
{
ParameterInfo[] ps = c.GetParameters();
//取出每个构造函数的所有参数
foreach (ParameterInfo pi in ps) {
//遍历并打印所该构造函数的所有参数
Console.Write(pi.ParameterType.ToString()+" "+pi.Name+",");
}
Console.WriteLine();
}
创建实例2中方法
1、构造函数
Type t = typeof(NewClassw);
Type[] pt = new Type[2];
pt[0] = typeof(string);
pt[1] = typeof(string);
//根据参数类型获取构造函数
ConstructorInfo ci = t.GetConstructor(pt);
//构造Object数组,作为构造函数的输入参数
object[] obj = new object[2]{“grayworm”,“hi.baidu.com/grayworm”};
//调用构造函数生成对象
object o = ci.Invoke(obj); /
/调用生成的对象的方法测试是否对象生成成功
//((NewClassw)o).show();
2、Activator.CreateInstance
Type t = typeof(NewClassw);
//构造函数的参数
object[] obj = new object[2] { “grayworm”, “hi.baidu.com/grayworm” };
//用Activator的CreateInstance静态方法,生成新对象
object o = Activator.CreateInstance(t,“grayworm”,“hi.baidu.com/grayworm”);
//((NewClassw)o).show();