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

上海建设检测网上登记网站wordpress安装主题主机名

上海建设检测网上登记网站,wordpress安装主题主机名,北京培训seo哪个好,中式建筑网站反射 C#中的反射是一种使程序在运行时能够动态地获取类型信息并调用其成员的技术。通过反射#xff0c;程序可以在运行时进行类型的动态加载、创建对象、调用方法和属性#xff0c;以及访问和修改字段等。反射可以使程序更加灵活#xff0c;但也增加了一定的性能开销。 在C#…反射 C#中的反射是一种使程序在运行时能够动态地获取类型信息并调用其成员的技术。通过反射程序可以在运行时进行类型的动态加载、创建对象、调用方法和属性以及访问和修改字段等。反射可以使程序更加灵活但也增加了一定的性能开销。 在C#中反射主要是通过System.Reflection命名空间中的类来实现的。以下是一些常用的反射类和方法 Type类Type类表示一个类型可以通过其静态方法获取某个类型的Type对象例如typeof关键字和Type.GetType()方法。Type类提供了许多有用的方法如GetMethods()获取类型的所有方法GetProperties()获取类型的所有属性等。 MethodInfo类MethodInfo类表示一个方法可以通过Type类的GetMethods()方法获取一个类型的所有方法然后使用MethodInfo对象来调用具体的方法。 PropertyInfo类PropertyInfo类表示一个属性可以通过Type类的GetProperties()方法获取一个类型的所有属性然后使用PropertyInfo对象来访问和修改具体的属性。 FieldInfo类FieldInfo类表示一个字段可以通过Type类的GetFields()方法获取一个类型的所有字段然后使用FieldInfo对象来访问和修改具体的字段。 反射的优点 虽然反射在性能和资源消耗方面存在一些开销但它在应用中仍然具有一些重要的优势和用途如下所示 动态加载和调用反射允许在运行时动态加载和调用类型、方法和成员。这对于需要动态扩展和插件化的应用程序非常有用例如插件系统、脚本引擎等。通过反射可以在运行时加载和使用不同的程序集和组件从而使应用程序更具灵活性和可扩展性。 元数据操作反射提供了一种方式来读取和操作类型的元数据包括属性、字段、方法、特性等的信息。这使得我们可以在运行时动态获取和操作类型的结构和行为。这对于实现某些高级功能和框架例如ORM对象关系映射、序列化库、依赖注入容器等非常有用。 可扩展的代码生成和编译反射使得我们可以动态生成和编译代码。这对于一些需要在运行时动态生成和执行代码的场景非常有用例如动态代理、AOP面向切面编程、代码生成器等。通过反射我们可以在运行时创建并执行代码从而实现更高级的代码生成和动态编程。 框架和工具的开发反射是许多框架和工具的基础例如单元测试框架、序列化库、ORM框架等。这些框架和工具需要在运行时通过反射来获取和使用类型的信息并在不同的场景中动态调用和操作代码。通过反射这些框架和工具可以更加灵活和通用提供更高级的功能和扩展性。 需要强调的是尽管反射在某些情况下会带来性能开销但在大多数情况下这些开销并不会对应用程序的整体性能产生显著的影响。在使用反射时我们应该权衡其灵活性和便利性与性能之间的平衡并根据实际需求来选择合适的方法和工具。 反射的案例 private void bt_Test_Click(object sender, System.Windows.RoutedEventArgs e) { //反射// 获取MyClass类型的Type对象Type type typeof(MyClass); ​// 创建MyClass对象object myClassObj Activator.CreateInstance(type); ​// 获取MyMethod方法的MethodInfo对象MethodInfo methodInfo type.GetMethod(MyMethod); ​// 调用MyMethod方法methodInfo.Invoke(myClassObj, null); ​//Log.Write(str.ToString(),HaagonLibrary.Log.Log.EnumLogType.Warning); ​Type type typeof(MyClass); ​// 动态调用反射方法object myClassObj Activator.CreateInstance(type);MethodInfo methodInfo type.GetMethod(MyMethod); ​var stopwatch Stopwatch.StartNew();for (int i 0; i 1000000; i){methodInfo.Invoke(myClassObj, null);}stopwatch.Stop();Log.Write(动态调用耗时 stopwatch.ElapsedMilliseconds 毫秒, HaagonLibrary.Log.Log.EnumLogType.Warning);// 静态调用反射方法var myClass new MyClass(); ​stopwatch.Restart();for (int i 0; i 1000000; i){myClass.MyMethod();}stopwatch.Stop();Log.Write(静态调用耗时 stopwatch.ElapsedMilliseconds 毫秒, HaagonLibrary.Log.Log.EnumLogType.Warning);} } public class MyClass {public void MyMethod(){Console.WriteLine(Hello, Reflection!);} } 文章转载自chen西瓜 原文链接https://www.cnblogs.com/chen233/p/17897313.html 体验地址引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构
http://www.sadfv.cn/news/116221/

相关文章:

  • 山东省建设监理协会官方网站链接网站某一页面如何做
  • 企业官网建站的流程传媒公司vi
  • 济南网站建设行知kejiwordpress 产品展示
  • 洛阳网站建设价格低网站做二维码
  • 建立网站专业公司吗医疗营销网站建设
  • 合肥网站优化排名推广喀什建设网站
  • 网站建设服务合同协议前端网站建设插件
  • 安徽休宁建设厅网站长沙大的建网站公司
  • 网站开发定价wordpress 首页动画
  • 俄华网站建设网站域名自动跳转
  • 网页设计比较好的网站怎么看网站发的外链
  • 凯发网站app代理推广平台
  • 外贸网站收到询盘六安火车站网站
  • 那个网站建设网站被做站公司贩卖
  • 优化站点公司以前做的免费网站太多_新网站搜索不到
  • 域名 做网站和邮箱久久建筑服务网
  • 河北省建设执业资格注册管理中心网站称心的赣州网站建设
  • 个人网站可以做音乐下载网网站设计培训机构
  • 长沙自动化网站建设dw做网站地图
  • 阿里巴巴做网站么效果好企业营销型网站建设开发
  • 建一个网站需要什么潍坊医院网站建设
  • 网站建设项目规划书案例网站建设需要哪些企业资料
  • 网站建设开发人员配置政务服务 网站 建设方案
  • 网站颜色 字体郑州网站seo外包公司
  • 做图文网站要什么配置的服务器网站什么认证对做电商好
  • 公司网站改版需要怎么做企业网站建设感想
  • html5手机app网站模板wordpress里修改网页
  • wordpress+3d线条西安关键词seo
  • 网站内容建设评估简单的企业网站
  • 深圳 营销型网站公司知乎seo优化