反射中常用方法:
1 //获取对象类型 2 One one = new One(); 3 Type t = one.GetType(); 4 5 //动态加载 6 Assembly a = Assembly.LoadFile(path); 7 //获取所有公共类 8 Type[] _tys = assembly.GetExportedTypes(); 9 10 //获取所有类 11 Type[] types = assembly.GetTypes(); 12 13 //创建对象实例 14 A a = Activator.CreateInstance(type[0]) as A; 15 assembly.GetType("类名"); 16 17 MemberInfo[] ms = t.GetMembers();//获取所有public方法 18 FieldInfo[] fs = t.GetFields();//获取所有的public字段 19 PropertyInfo[] ps = t.GetProperties();//获取所有属性 20 21 MethodInfo m = t.GetMethod("方法名");//获取指定public方法 22 FieldInfo f = t.GetField("字段名");//获取指定public字段 23 24 //获取私有字段或方法的时候在参数中加上如下参数即可 25 BindingFlags.Instance | BindingFlags.NonPublic 26 27 //执行方法 28 m.Invoke(对象实例,参数);//非静态方法执行 29 m.Invoke(null,参数);//静态方法执行
小弟菜鸟,请大神们指教
时间: 2024-10-22 08:21:23