反射的使用总结
来源:互联网 发布:js input file 赋值 编辑:程序博客网 时间:2024/04/30 13:28
情形一:生成类的实例
1、知道一个类的类型,生成该类的实例
public void CreatInstance(Type T)
{
ObjectClass obj=(ObjectClass)Activator.CreateInstance(T,para[])//para为类构造函数的参数
}
2、知道类名,生成类的实例
public void CreatInstance()
{
Type t=typeof(ObjectClass)
ObjectClass obj=(ObjectClass)Activator.CreateInstance(T,para[])//para为类构造函数的参数
}
3、知道一个dll,生成dll中的类的实例
public void CreatInstance(Type T)
{
Assembly ass=Assembly.LoadForm("Class.dll")
foreach(Type t in ass.GetTypes())
{
ObjectClass obj=(ObjectClass)Activator.CreateInstance(t,para[])//para为类构造函数的参数
}
//或者通过ass指定类名称
// ObjectClass obj=(ObjectClass)ass.CreateInstance("名字空间.类名")//注意此时的程序集名称和
//默认名字空间名称一致
}
情形二:获取类中的成员方法,属性和字段
public void ReflectorMethod()
{
ObjectClass obj=new ObjectClass();
Type t=Typeof(obj);
MethodInfo []methodInfo=t.GetMethods();//获取所有公共方法
MethodInfo method=t.GetMethod("Method");//获取特定方法
Object[] para={"para1","para2"};
method.Invoke(obj,para);//带参方法的调用
method.Invoke(null,para);//静态带参方法的调用
method.Invoke(obj,null);//不带参数方法的调用
MethodInfo privateMethod=t.GetMethod
("PrivateMethod",BindingFlags.Instance|BindingFlags.NonPublic)
PropertyInfo pro=a.GetProperty("property1");//获取属性
pro.GetValue(obj,null);//获取属性的值
pro.SetValue(obj,value,null);//设置属性的值,属性类型不定故value类型不定
FiledInfo field=a.GetField("field");//获取字段
field.getValue(obj);//获取字段的值
}
- 反射的使用总结
- 反射使用的总结
- 泛型与反射的使用总结之反射篇
- 泛型与反射的使用总结之反射篇
- java 反射的一些使用总结
- c# 反射使用总结
- Java 反射 使用总结
- Java 反射 使用总结
- Java 反射 使用总结
- Java反射使用总结
- java的反射总结
- java反射的总结
- 反射的总结
- Java反射的总结
- 反射的总结
- 反射机制的总结
- 反射的理解总结
- JAVA的反射总结
- JAVA 读取远端资源,并实现FTP上传
- SQl查询数据库表名、表的列名
- java程序员笔试(笔试中最常见出现 )
- java中判断字符串是否数字的两种方法(在java中用正则表达式)
- xtools创始人CTO李亚平的《走出软件作坊》书评
- 反射的使用总结
- 转载AVS丽江会议
- VS2005下实现asp.net在线人数的统计
- 正则表达式(不断更新中……)
- 创建存储过程的简单例子
- 发个故事 希望能感动下大家
- VS2008特性
- 《STL源码剖析》部分代码释疑
- 推荐一本五星好书:深入理解计算机系统(修订版)