日期:2014-05-18  浏览次数:20802 次

EasyReflect ,用于简单的反射对象的属性,字段,方法的方式
个人认为是一个非常有用的类库,请大家帮忙测试,完善.谢谢了!!!

C# code

/*
 * 作者:冰麟轻武
 * 说明:
 * 1....使用简单
 * 2....不区分静态和实例都可以反射
 * 3....不区分public和private都可以反射,请小心使用
 * 4....暂时不支持泛型方法,in和out参数的方法,有好的建议可以联系我
 * 5....中文注释已经比较全面
 * 
 * 有建议或者BUG可以联系:fttl_398@126.com,或者QQ 21979018,或者http://t.qq.com/jy02305022
 * 所有提供建议或BUG者均加为好友,更新类库后第一时间发送给各位
 * 版本 1.0.0.0 日期:2010-4-16
 */



源码下载地址:http://download.csdn.net/source/3195811
内附测试类
测试类运行界面



C# code

//简单演示

Test test = new Test();//测试类

//获取Test类实例test的字段int age的值
ReflectGet get = EasyReflect.GetFieldValue(typeof(Test), "age");
int i = get(test);

//设置属性Name的值为"哈哈哈"
ReflectSet set = EasyReflect.SetPropertyValue(typeof(Test), "Name");
set(test,"哈哈哈");

//运行方法void Say(String s);
ReflectCall call = call = EasyReflect.CallMethod(typeof(Test), "Say");
object o = call("大家好");
//此时o为null,当方法无返回值时,返回一个null



------解决方案--------------------
直接将IL进行Emit吗?那的确是会比反射来的要快
------解决方案--------------------
楼主,你的东西开源吗?我可以用在我的商业项目中吗?(作为其中的一个工具类)
------解决方案--------------------
楼主我的测试没有成功.当用long型时,而且效率很低.比原来的效率
------解决方案--------------------

------解决方案--------------------
留个记号,明天好好学习下!