ASP,前端开发交流,在线前端开发学习

Type t = n.GetType();

foreach (MemberInfo mi in t.GetMembers())

{

Console.WriteLine(“{0}\t{1}”,mi.MemberType,mi.Name);

}

**Type类的属性:

**        Name 数据类型名

FullName 数据类型的完全限定名(包括命名空间名)

Namespace 定义数据类型的命名空间名

IsAbstract 指示该类型是否是抽象类型

IsArray   指示该类型是否是数组

IsClass   指示该类型是否是类

IsEnum   指示该类型是否是枚举

IsInterface    指示该类型是否是接口

IsPublic 指示该类型是否是公有的

IsSealed 指示该类型是否是密封类

IsValueType 指示该类型是否是值类型

**Type类的方法:

**        GetConstructor(), GetConstructors():返回ConstructorInfo类型,用于取得该类的构造函数的信息

GetEvent(), GetEvents():返回EventInfo类型,用于取得该类的事件的信息

GetField(), GetFields():返回FieldInfo类型,用于取得该类的字段(成员变量)的信息

GetInterface(), GetInterfaces():返回InterfaceInfo类型,用于取得该类实现的接口的信息

GetMember(), GetMembers():返回MemberInfo类型,用于取得该类的所有成员的信息

GetMethod(), GetMethods():返回MethodInfo类型,用于取得该类的方法的信息

GetProperty(), GetProperties():返回PropertyInfo类型,用于取得该类的属性的信息

可以调用这些成员,其方式是调用Type的InvokeMember()方法,或者调用MethodInfo, PropertyInfo和其他类的Invoke()方法。

查看类中的构造方法:

NewClassw nc = new NewClassw();

**Type t = nc.GetType();

ConstructorInfo[] ci = t.GetConstructors();**    //获取类的所有构造函数

foreach (ConstructorInfo c in ci) //遍历每一个构造函数

{

ParameterInfo[] ps = c.GetParameters();    //取出每个构造函数的所有参数

foreach (ParameterInfo pi in ps)   //遍历并打印所该构造函数的所有参数

{

Console.Write(pi.ParameterType.ToString()+" “+pi.Name+”,");

}

Console.WriteLine();

}

**用构造函数动态生成对象:

**        Type t = typeof(NewClassw);

**Type[] pt = new Type[2];

**        pt[0] = typeof(string);

pt[1] = typeof(string);

//根据参数类型获取构造函数

**ConstructorInfo ci = t.GetConstructor(pt);

**        //构造Object数组,作为构造函数的输入参数

object[] obj = new object[2]{“grayworm”,“hi.baidu.com/grayworm”};

//调用构造函数生成对象

object o = ci.Invoke(obj);           //调用生成的对象的方法测试是否对象生成成功

//((NewClassw)o).show();

**用Activator生成对象:

**        Type t = typeof(NewClassw);

//构造函数的参数

object[] obj = new object[2] { “grayworm”, “hi.baidu.com/grayworm” };

//用Activator的CreateInstance静态方法,生成新对象

**object o = Activator.CreateInstance(t,“grayworm”,“hi.baidu.com/grayworm”);

**        //((NewClassw)o).show();

**查看类中的属性:

**        NewClassw nc = new NewClassw();

Type t = nc.GetType();

**PropertyInfo[] pis = t.GetProperties();

**        foreach(PropertyInfo pi in pis)

{

Console.WriteLine(pi.Name);

}       **查看类中的public方法:

**        NewClassw nc = new NewClassw();

Type t = nc.GetType();

**MethodInfo[] mis = t.GetMethods();

**        foreach (MethodInfo mi in mis)

{

Console.WriteLine(mi.ReturnType+" "+mi.Name);

}

**查看类中的public字段

**        NewClassw nc = new NewClassw();

Type t = nc.GetType();

FieldInfo[] fis = t.GetFields();

foreach (FieldInfo fi in fis)

{

Console.WriteLine(fi.Name);

} (http://hi.baidu.com/grayworm)

**用反射生成对象,并调用属性、方法和字段进行操作

**        NewClassw nc = new NewClassw();

Type t = nc.GetType();

object obj = Activator.CreateInstance(t);

//取得ID字段

FieldInfo fi = t.GetField(“ID”);

//给ID字段赋值

fi.SetValue(obj, “k001”);

//取得MyName属性

PropertyInfo pi1 = t.GetProperty(“MyName”);

//给MyName属性赋值

pi1.SetValue(obj, “grayworm”, null);

PropertyInfo pi2 = t.GetProperty(“MyInfo”);

pi2.SetValue(obj, “hi.baidu.com/grayworm”, null);

//取得show方法

MethodInfo mi = t.GetMethod(“show”);

//调用show方法

mi.Invoke(obj, null);

System.Reflection.Assembly类

Assembly类可以获得程序集的信息,也可以动态的加载程序集,以及在程序集中查找类型信息,并创建该类型的实例。

使用Assembly类可以降低程序集之间的耦合,有利于软件结构的合理化。

**通过程序集名称返回Assembly对象

Assembly ass = Assembly.Load(“ClassLibrary831”);

通过DLL文件名称返回Assembly对象

Assembly ass = Assembly.LoadFrom(“ClassLibrary831.dll”);

通过Assembly获取程序集中类

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

最后

如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

.(img-7cVoAV8c-1710758846143)]

最后

如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值