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

淘宝网站图片维护怎么做wordpress被黑求最安全的国外主机

淘宝网站图片维护怎么做,wordpress被黑求最安全的国外主机,门户网站建设创新,WordPress mk主题前言 前段时间有朋友问道一个这样的问题#xff0c;.NET Core中如何通过Attribute的元数据信息来调用标记的对应方法。我第一时间想到的就是通过C#反射获取带有Custom Attribute标记的类#xff0c;然后通过依赖注入#xff08;DI#xff09;的方式获取对应服务的方法并通…前言 前段时间有朋友问道一个这样的问题.NET Core中如何通过Attribute的元数据信息来调用标记的对应方法。我第一时间想到的就是通过C#反射获取带有Custom Attribute标记的类然后通过依赖注入DI的方式获取对应服务的方法并通过反射动态执行类的方法从而实现更灵活的编程方式。 什么是反射 在 C# 中反射是指在运行时动态地获取类型的信息并操作对象的能力。使用反射我们可以在代码中访问程序集、模块、成员等并且可以操作这些成员的属性、方法、字段和事件等。 反射的作用 动态加载程序集。 获取类型信息。 创建对象和调用方法。 访问和操作成员。 扩展框架和库。 注意由于反射是一种非常灵活和强大的机制但也带来了一定的性能开销。因此在使用反射时应慎重考虑其适用性并权衡性能和灵活性的取舍。 自定义一个Attribute类型 /// summary /// 自定义一个Attribute类型 /// /summary [AttributeUsage(AttributeTargets.Class, AllowMultiple  false)] public class CustomAttribute : Attribute {public string TargetMethod { get; set; }public CustomAttribute(string targetMethod){TargetMethod  targetMethod;} }定义如下两个需要被执行的服务并使用CustomAttribute标记 /// summary /// 前进服务 /// /summary [Custom(AdvanceWay)] public class AdvanceService {public void AdvanceWay(){Console.WriteLine(On the move!);} }/// summary /// 后退服务 /// /summary [Custom(RetreatWay)] public class RetreatService {public void RetreatWay(){Console.WriteLine(Be retreating!);} }注册需要注入的服务 var services  new ServiceCollection();//注册需要注入的服务 services.AddTransientAdvanceService(); services.AddTransientRetreatService();反射获取所有带有CustomAttribute特性的类并调用对应方法 static void Main(string[] args){var services  new ServiceCollection();//注册需要注入的服务services.AddTransientAdvanceService();services.AddTransientRetreatService();var provider  services.BuildServiceProvider();#region 反射获取所有带有CustomAttribute特性的类并调用对应方法//反射获取所有带有CustomAttribute特性的类var classes  Assembly.GetExecutingAssembly().GetTypes().Where(type  type.GetCustomAttributesCustomAttribute().Any());foreach (var clazz in classes){//获取标记CustomAttribute的实例var attr  clazz.GetCustomAttributesCustomAttribute().First();//根据CustomAttribute元数据信息调用对应的方法var methodInfo  clazz.GetMethod(attr.TargetMethod);if (methodInfo ! null){//instance 对象是通过依赖注入容器获取的。这是一种常用的实现方式可以使用依赖注入解耦程序中各个组件之间的依赖关系方便测试和维护。var instance  provider.GetService(clazz);methodInfo.Invoke(instance, null);}}#endregion#region 反射获取所有带有CustomAttribute特性的类并调用指定方法var executionMethod  RetreatWay;foreach (var clazz in classes){//获取标记CustomAttribute的实例var attr  clazz.GetCustomAttributesCustomAttribute().First();if (attr.TargetMethod  executionMethod){//根据CustomAttribute元数据信息调用对应的方法var methodInfo  clazz.GetMethod(attr.TargetMethod);if (methodInfo ! null){//instance 对象是通过依赖注入容器获取的。这是一种常用的实现方式可以使用依赖注入解耦程序中各个组件之间的依赖关系方便测试和维护。var instance  provider.GetService(clazz);methodInfo.Invoke(instance, null);}}}#endregionConsole.ReadLine();}输出如下
http://www.pierceye.com/news/43318/

相关文章:

  • 建设机械网站案例分析想学做网站
  • 网站平台方案怎么自学电商运营
  • python制作的网站图书大厦网站建设报告
  • 做网站点击量有用吗长沙网站seo排名
  • 学做衣服的网站自响应式网站建设清单
  • 柳州做网站公司楚雄网站建设
  • 珠海网站推广价格网站建设与推广方式
  • 建设事业单位网站多少钱最好网站开发公司电话
  • 网站服务器端口号是什么湖北企业模板建站信息
  • 免费网站建设支持ftp开发区人力资源招聘网
  • 网站推广做的比较好的公司优化设计四年级数学上册答案
  • 手机网站建设的费用用html框架做网站
  • 广州网站设计报价自媒体培训学校
  • wordpress 汉语字体网页优化方法
  • jsp做的网站答辩问题济宁君天建设公司网站
  • 临沂手工活外发加工网怀化网站排名优化
  • 石家庄外贸建站公司叫企业做的网站可不可以自己改主题
  • 在QQ上做cpa网站说是恶意的冷水滩互联网建设
  • 企业网站推广论述个人网站免费做
  • 小型企业网站设计阿里云国际wordpress
  • 个人网站内容怎么写大连h5建站
  • 阿克苏网站建设蔡甸建设局网站
  • 个人网站建设联系洛阳洛龙区网站建设
  • 网站建设销售好做吗有哪些平台可以发广告
  • 怎么做私人网站某网站开发项目进度表
  • 网站的备用金怎么做凭证传奇游戏排行榜前十名
  • 建设网站的工作职责二级域名网站价格
  • 中山网站建设推广国外电商网站如何做icp备案
  • 北京免费网站设计做公司网站可以抄别人的吗
  • 网站建设与用户体验网站的安全怎么做