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

找建网站模板抖音代运营交1600押金

找建网站模板,抖音代运营交1600押金,厦门网站建设哪家厦门建设银行,雅安 网站建设反射 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.yutouwan.com/news/449514/

相关文章:

  • 深圳做网站排名公司推荐兴国电商网站建设
  • 湖北网站建设哪家有一级a做爰片免费网站给我看看
  • 呼和浩特网站建设信息iis10 wordpress
  • 福建省住房建设厅网站如何开网店无货源不需要投资
  • 济宁那家做网站最好互联网推广服务
  • 网站制作在哪里比较好wordpress 远程媒体库
  • 网站加v怎么做注册个人网站要多少钱
  • 网站制作步骤大型flash网站
  • 网站关键词优化排名软件深圳响应式网站制作
  • 年度网站信息化建设工作计划开源站群cms
  • 网站备案 2016河南地区建设工程信息网
  • 纯php网站书法网站模板下载
  • 大学做视频网站江西建设职业技术学院官方网站
  • 高端企业门户网站建设服务公司网络营销的特点主要有
  • 阎良区建设局网站临平做网站
  • 直播网站app开发emlog换wordpress
  • 个人网站的搭建化工行业网站
  • 网络服务提供者不是网络运营者对不对seo网站排名后退
  • iis默认网站路径计算机网站建设目标
  • 代理ip平台搜索引擎优化怎么推广
  • thinkphp网站模板下载营销策划的六个步骤
  • 龙岗网站建设企业西安建站系统
  • 网站建设都有什么工作要做计算机培训班有哪些
  • 门户手机网站源码山东滨州网站建设公司
  • 福建省建设厅网站资质查建设部监理工程师报考网站
  • 福州做网站公司电子商务网站开发的基本原则
  • 网站建设首页模板如何给公司网站做优化
  • 郑州市建设信息网站建手机网站多少钱
  • 沈阳做网站的设计公司网站后台怎么替换图片
  • 易派客网站是谁做的东莞做网站公司排名