您所在位置: 网站首页 / net学习心得6.docx / 文档详情
net学习心得6.docx 立即下载
2025-08-18
约2.6千字
约11页
0
12KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

net学习心得6.docx

net学习心得6.docx

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

net学习心得6

net学习心得(6)1.反射:反射是.net中的重要机制,通过反射可以在运行时获得.net中每一个类型,包括类、结构、委托和枚举的成员,包括方法、属性、事件,以及构造函数等。有了反射,既可以对每一个类型了如指掌。下面来演示一下反射的实例(1)新建一个类库项目。在解决方案上单击右键选择添加“新建项目”,在弹出来的框中选择“类库”,在下面名字栏中输入ClassLib。然后删除class1类,新添加一个类“ClassPerson”,添加如下代码:namespaceClassLib{publicclassClassPerson{publicClassPerson():this(null){}publicClassPerson(stringstrname){name=strname;}privatestringname;privatestringsex;privateintage;publicstringName{get{returnname;}set{name=value;}}publicstringSex{get{returnsex;}set{sex=value;}}publicintAge{get{returnage;}set{age=value;}}publicvoidSayHello(){if(null==name)Console.WriteLine("helloWorld");elseConsole.WriteLine("Hello,"+name);}}}添加完之后编译生成一下,就会在这个类库项目中的Bin\Debug中有一个ClassLib.dll文件。然后添加一个控制台应用程序。引入System.Reflaction的命名空间。添加的代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Reflection;//添加反射的命名空间namespaceConsoleApplication4{publicclassProgram{staticvoidMain(string[]args){Console.WriteLine("列出程序集中的所有类型");Assemblyass=Assembly.LoadFrom("ClassLib.dll");Type[]mytype=ass.GetTypes();TypeClassPerson=null;foreach(Typepinmytype){Console.WriteLine(p.Name);if(p.Name=="ClassPerson"){ClassPerson=p;}}Console.WriteLine("列出ClassPersonl类中的所有的方法");MethodInfo[]md=ClassPerson.GetMethods();foreach(MethodInfominmd){Console.WriteLine(m.Name);}Console.WriteLine("实例化ClassPerson类,并调用SayHello方法");objectobj=Activator.CreateInstance(ClassPerson);objectobjname=Activator.CreateInstance(ClassPerson,"飞鹰");MethodInfomysayhello=ClassPerson.GetMethod("SayHello");mysayhello.Invoke(obj,null);//无参数构造函数mysayhello.Invoke(objname,null);//有参构造函数Console.ReadKey();}}}运行之后的结果是:列出程序集中的所有类型ClassPerson列出ClassPersonl类中的所有的方法get_Nameset_Nameget_Sexset_Sexget_Ageset_AgeSayHelloToStringEqualsGetHashCodeGetType实例化ClassPerson类,并调用SayHello方法helloWorldHello,飞鹰2.using的作用(1)引入命名空间,如:usingSystem。(2)using别名。格式:using别名=包括详细命名空间信息的具体的类型例如:在两个命名空间(nameSpace1,nameSpace2)里各有一个MyClass类,这时可以这样引入命名空间,usingaclass=nameSpace1.MyClass;usingbclass=nameSpace2.MyClass;实例化时:aclassmy1=newacla
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

net学习心得6

文档大小:12KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用