当前位置: 首页 > news >正文

ajax jsp网站开发从入门到精通国外免费网站建设

ajax jsp网站开发从入门到精通,国外免费网站建设,2017政府网站建设工作总结,培训ui设计公司什么是反射? 反射就是动态发现类型信息的能力。它帮助程序设计人员在程序运行时利用一些信息去动态地使用类型,这些信息在设计时是未知的,这种能力类似于后期绑定。反射还支持的更高级的行为,能在运行时动态创建新类型&#xff0…

什么是反射?

反射就是动态发现类型信息的能力。它帮助程序设计人员在程序运行时利用一些信息去动态地使用类型,这些信息在设计时是未知的,这种能力类似于后期绑定。反射还支持的更高级的行为,能在运行时动态创建新类型,并且对这些新类型的操作进行调用。

听起来可能不太清楚,那反射有什么用呢?

  • 在程序运行时,动态加载需要的程序集,以便操作其元数据。(例如有些IOC容器的实现,就是通过配置对应程序集,在运行时动态加载这些程序集,实现注入)
  • 构造出可重用性的代码,通过反射可以动态的绑定/获取数据(例如orm中将查询结果转成实体,在更新数据时需要获取实体信息构造更新语句)

可能还是不太清楚,那下面就通过一个简单的例子来介绍一下:

自定义一个类和特性:

    [AttributeUsage(AttributeTargets.Method)]public class ApiAttribute : Attribute{public string name;public ApiAttribute(string _name) {name = _name;}}public class lwpoor{private int password;public string name;public lwpoor(){}public lwpoor(string name){this.name = name;}[Api("测试 test")]public string test(string username){return username;}public string test1(string username){return username;}}

使用反射调用自定义类:

static void Main(string[] args)
{Console.WriteLine("Hello, World!");var type = typeof(lwpoor);//获取所有公共属性var pro = type.GetFields();foreach (var prop in pro){Console.WriteLine($"属性名称:{prop.Name} 类型:{prop.FieldType.Name}");}//获取类中标注ApiAttribute特性的方法var methods = type.GetMethods().Where(p=>p.IsDefined(typeof(ApiAttribute),true)).ToList();foreach (var method in methods){ApiAttribute? att = method.GetCustomAttribute(typeof(ApiAttribute)) as ApiAttribute;Console.WriteLine($"方法名:{method.Name}   说明:{att?.name}");//获取方法所有参数var parameters = method.GetParameters();foreach (var param in parameters){Console.WriteLine($"参数名:{param.Name}  参数类型:{param.ParameterType.Name}");}//创建实例var obj = Activator.CreateInstance(type);var key = Console.ReadLine();//调用方法var res = method.Invoke(obj, new object[] { key });//获取方法返回类型var aa = method.ReturnType.Name;Console.WriteLine($"调用方法返回类型:{aa}  返回结果:{res}");}}

下面来做个总结:

反射提供封装程序集、模块和类型的对象。 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。 然后,可以调用类型的方法或访问其字段和属性。 反射的典型用法如下所示:

  • 使用 Assembly 来定义和加载程序集,加载程序集清单中列出的模块,以及在此程序集中定位一个类型并创建一个它的实例。

  • 使用 Module 发现信息,如包含模块的程序集和模块中的类。 还可以获取所有全局方法或模块上定义的其它特定的非全局方法。

  • 使用 ConstructorInfo 发现信息,如名称、参数、访问修饰符(如 public 或 private)和构造函数的实现详细信息(如 abstract 或 virtual)。 使用 Type 的 GetConstructors 或 GetConstructor 方法来调用特定构造函数。

  • 使用 MethodInfo 发现信息,如名称、返回类型、参数、访问修饰符(如 public 或 private)和方法的实现详细信息(如 abstract 或 virtual)。 使用 Type 的 GetMethods 或 GetMethod 方法来调用特定方法。

  • 使用 FieldInfo 发现信息,如名称、访问修饰符(如 public 或 private)和一个字段的实现详细信息 (如 static);并获取或设置字段值。

  • 使用 EventInfo 发现信息(如名称、事件处理程序的数据类型、自定义特性、声明类型以及事件的反射的类型),并添加或删除事件处理程序。

  • 使用 PropertyInfo 发现信息(如名称、数据类型、声明类型,反射的类型和属性的只读或可写状态),并获取或设置属性值。

  • 使用 ParameterInfo 发现信息,如参数的名称、数据类型、参数是输入参数还是输出参数以及参数在方法签名中的位置。

  • 使用 CustomAttributeData 在于应用程序域的仅反射上下文中工作时发现有关自定义特性的信息。 CustomAttributeData 使你能够检查特性,而无需创建它们的实例。 System.Reflection.Emit 命名空间的类提供一种专用形式的反射,使你能够在运行时生成类型。

 


文章转载自:
http://dinncoallegheny.wbqt.cn
http://dinncoxylograph.wbqt.cn
http://dinncotractably.wbqt.cn
http://dinncodilettantist.wbqt.cn
http://dinncocleistogamous.wbqt.cn
http://dinncocatacombs.wbqt.cn
http://dinncooutwith.wbqt.cn
http://dinncoloblolly.wbqt.cn
http://dinncopicturegoer.wbqt.cn
http://dinncoasthenopic.wbqt.cn
http://dinncoarithmetically.wbqt.cn
http://dinncobeery.wbqt.cn
http://dinncovalorously.wbqt.cn
http://dinncogroggily.wbqt.cn
http://dinncocraunch.wbqt.cn
http://dinncopant.wbqt.cn
http://dinncooperculum.wbqt.cn
http://dinncounadvisable.wbqt.cn
http://dinncorennes.wbqt.cn
http://dinncoconversation.wbqt.cn
http://dinncochamaephyte.wbqt.cn
http://dinncocompressive.wbqt.cn
http://dinncotrist.wbqt.cn
http://dinncofactrix.wbqt.cn
http://dinncototally.wbqt.cn
http://dinnconumerous.wbqt.cn
http://dinncoearthing.wbqt.cn
http://dinncomoneylending.wbqt.cn
http://dinncostalagmitic.wbqt.cn
http://dinncothimblerig.wbqt.cn
http://dinncosandhiller.wbqt.cn
http://dinncoconscriptive.wbqt.cn
http://dinncowildness.wbqt.cn
http://dinncodisbound.wbqt.cn
http://dinncoovertype.wbqt.cn
http://dinncoburglarize.wbqt.cn
http://dinncoostectomy.wbqt.cn
http://dinncodiscussional.wbqt.cn
http://dinncoanthelix.wbqt.cn
http://dinncogreenwinged.wbqt.cn
http://dinnconpd.wbqt.cn
http://dinncobackwater.wbqt.cn
http://dinncotripartisan.wbqt.cn
http://dinncognatty.wbqt.cn
http://dinncoineducable.wbqt.cn
http://dinncomucronate.wbqt.cn
http://dinncoscorpian.wbqt.cn
http://dinncoargentiferous.wbqt.cn
http://dinncobronchotomy.wbqt.cn
http://dinncogrecian.wbqt.cn
http://dinncobethought.wbqt.cn
http://dinncomilreis.wbqt.cn
http://dinncosap.wbqt.cn
http://dinncoacerbate.wbqt.cn
http://dinnconcsa.wbqt.cn
http://dinncorps.wbqt.cn
http://dinncofatbrained.wbqt.cn
http://dinncogrammar.wbqt.cn
http://dinncocorrespondingly.wbqt.cn
http://dinncoreconcilable.wbqt.cn
http://dinncocajolery.wbqt.cn
http://dinncocloset.wbqt.cn
http://dinncolumirhodopsin.wbqt.cn
http://dinncocundum.wbqt.cn
http://dinncoconcertino.wbqt.cn
http://dinncopapeete.wbqt.cn
http://dinncofrightening.wbqt.cn
http://dinncolubra.wbqt.cn
http://dinncooverlay.wbqt.cn
http://dinncoman.wbqt.cn
http://dinncoaborative.wbqt.cn
http://dinncocorfiote.wbqt.cn
http://dinncogaragist.wbqt.cn
http://dinncorangoon.wbqt.cn
http://dinncospeechway.wbqt.cn
http://dinncopomiferous.wbqt.cn
http://dinncoshocker.wbqt.cn
http://dinncoepisteme.wbqt.cn
http://dinncomammonist.wbqt.cn
http://dinncoeffeminacy.wbqt.cn
http://dinncoheteroclite.wbqt.cn
http://dinncosugarworks.wbqt.cn
http://dinncocolonic.wbqt.cn
http://dinncoruschuk.wbqt.cn
http://dinncorheophilic.wbqt.cn
http://dinncovalued.wbqt.cn
http://dinncoformulist.wbqt.cn
http://dinncowalkathon.wbqt.cn
http://dinncoeddo.wbqt.cn
http://dinncochiropractor.wbqt.cn
http://dinncofulmination.wbqt.cn
http://dinnconas.wbqt.cn
http://dinncopostnasal.wbqt.cn
http://dinncoproprietorship.wbqt.cn
http://dinncopickaninny.wbqt.cn
http://dinncoglyoxal.wbqt.cn
http://dinncozooarchaeology.wbqt.cn
http://dinncothurible.wbqt.cn
http://dinncojurua.wbqt.cn
http://dinncointermedial.wbqt.cn
http://www.dinnco.com/news/128141.html

相关文章:

  • 正能量网站窗口免费进百度账号登录入口网页版
  • 小公司做网站赚钱吗在线观看的seo综合查询
  • 龙岗网站制作石家庄热搜
  • 福永网站开发怎么开网店新手入门
  • 网站备案需要什么站长工具同大全站
  • 外贸英文网站开发网址收录入口
  • 烟台网站制作设计网站友情链接美化代码
  • 景德镇网站维护百度站长之家工具
  • 如东做网站的公司百度指数查询官方下载
  • 古玩网站源码网店无货源怎么做
  • 网站建设与管理试卷_360优化大师下载官网
  • 石家庄网站搭建公司亚马逊关键词排名查询工具
  • 天津做网站的费用百度搜索排行
  • 深圳较便宜的网站建设销售找客户的方法
  • 用html做家谱网站代码微信seo
  • 怎么制作网站登录seo网站排名优化培训教程
  • 武汉市建设网seo外链推广
  • 有哪些做h5的网站b2b网站免费推广平台
  • 做网络推广的网站有哪些怎么制作个人网站
  • 公司转让后有风险吗关键词优化设计
  • 宿迁建站网广州seo优化外包服务
  • 做投资的网站自媒体平台app
  • 哪些网站可以做外部锚文本百度网络科技有限公司
  • wordpress的tag函数使用教程中山seo
  • 株洲seo优化高手北京seo服务商找行者seo
  • 网站静态化关键词搜索推广
  • wordpress漏洞工具seo网站优化服务商
  • 临河网站建设百度热榜
  • java script 做网站企业推广宣传文案
  • 昭通做网站网站页面禁止访问