初学C#
单其中有个反射概念,不理解也不会用
请高手帮忙
单其中有个反射概念,不理解也不会用
请高手帮忙
解决方案 »
- SqlDataSource1.UpdateParameters语句要写在什么方法里?
- 【向caozhy提问】
- 怎么关闭WCF服务主机??
- 水晶报表里面的方本框长度固定,如何在文本超出文本框时改变文本框内字体的大小让文本全部显示出来?
- 初学者数组问题,估计是BUG啊!
- Security
- 急!!用存储过程怎么实现将表A所有的数据加到表B(要源码)
- 怎么改变组件的图标?
- 请 RainAndFire 过来,给您另加20分
- 能否可以把datagrid里的实现绑定列用c#实现?如果可以,怎么在c#下引用datagrid里的column里的属性??谢谢!~~本人急用,在线等待,
- 请教一个C#卸载的问题
- 这是什么控件呢? 用友的软件中,多采用这种控件,我不知什么控件?
msdn教学
http://www.cnblogs.com/zhusl118/archive/2008/11/21/1338373.html
达人写的,我当初就是看这个看会的。简单来说反射其实就是一个类而已,当你想要声明一个类,或者用一个类的某个方法某个属性时候用的。
例如:你现在知道一个类的名字。叫test,他只是个字符串,你肯定不能用Test t = new ...去new
所以只能用反射。就是这个意思
MSDN解释http://www.cnblogs.com/zhusl118/archive/2008/11/21/1338373.html
达人写的,我当初就是看这个看会的。
例如:你有个字符串,test,有个类也叫test,你想要得到他的实例,就得用反射。具体反射的应用比较广泛,你可以到网上查一查
实现步骤:
1,导入using System.Reflection;
2,Assembly.Load("程序集")加载程序集,返回类型是一个Assembly
3, foreach (Type type in assembly.GetTypes())
{
string t = type.Name;
}
得到程序集中所有类的名称
4,Type type = assembly.GetType("程序集.类名");获取当前类的类型
5,Activator.CreateInstance(type); 创建此类型实例
6,MethodInfo mInfo = type.GetMethod("方法名");获取当前方法
7,mInfo.Invoke(null,方法参数);
string aa = "函数名<变量>";
你想在字符串里面调用一个动态函数(比如字符串内容是从静态模板中读取),因为是写在字符串里面的,故只用利用反射区执行这个函数,最终结果返回aa在比如:
string aa="1+2";
你想要结果等于3,因为是字符型结果必定是12,所以可以利用反射去执行1+2最终结果3返回aa当然反射的用法很多很多很多,举例只是让你理解什么是反射
string aa = "函数名<变量>";
你想在字符串里面调用一个动态函数(比如字符串内容是从静态模板中读取),因为是写在字符串里面的,故只用利用反射区执行这个函数,最终结果返回aa在比如:
string aa="1+2";
你想要结果等于3,因为是字符型结果必定是12,所以可以利用反射去执行1+2最终结果3返回aa当然反射的用法很多很多很多,举例只是让你理解什么是反射
string aa = "函数名<变量>";
你想在字符串里面调用一个动态函数(比如字符串内容是从静态模板中读取),因为是写在字符串里面的,故只用利用反射区执行这个函数,最终结果返回aa在比如:
string aa="1+2";
你想要结果等于3,因为是字符型结果必定是12,所以可以利用反射去执行1+2最终结果3返回aa当然反射的用法很多很多很多,举例只是让你理解什么是反射