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

建站公司互橙知乎wordpress取消邮件验证

建站公司互橙知乎,wordpress取消邮件验证,百度推广平台有哪些,网络设计课程文章目录 前言反射是什么?常用类型操作SummryPropertyInfoMethodInfo无参函数运行 有参函数运行,获取paramterInfo 总结 前言 我之前写了一篇Attribute特性的介绍,成功拿到了Attribute的属性,但是如果把Attribute玩的溜,那就要彻…

文章目录

  • 前言
  • 反射是什么?
  • 常用类型操作
    • Summry
    • PropertyInfo
    • MethodInfo
      • 无参函数运行
    • 有参函数运行,获取paramterInfo
  • 总结

前言

我之前写了一篇Attribute特性的介绍,成功拿到了Attribute的属性,但是如果把Attribute玩的溜,那就要彻底了解反射。

C#高级语法 Attribute特性详解和类型,方法,变量附加特性讲解

反射是什么?

反射就是对一个类里面所有的元素的彻底描述。我们可以从特性看出C# 对基于反射的类型定义了。

【C#进阶】C# 特性

在这里插入图片描述

我们声明一个简单的类


namespace NETCore8.Models
{public class TestModel{public int Id { get; set; }private string name;public void Send(){}/// <summary>/// 发送测试/// </summary>/// <param name="name"></param>public void TestSend(string name){}public TestModel(){}}
}

在这里插入图片描述

常用类型操作

我们接下来的操作全部都是基于共有属性进行的操作

Summry

但是Summry不属于编译内容,属于注解,如果想要获取Summry信息,则需要安装一个Nuget:Namotion.Refelction

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PropertyInfo

       static void Main(string[] args){//声明一个简单的bindingFlagsBindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Instance;TestModel model = new TestModel();model.Id = 5;var propertyInfo =  model.GetType().GetProperty("Id");Console.WriteLine("属性名:"+ propertyInfo?.Name);Console.WriteLine("属性值:" + propertyInfo?.GetValue(model));Console.WriteLine("属性类型:" + propertyInfo?.PropertyType);propertyInfo.SetValue(model, 10);Console.WriteLine("修改后的属性值:" + propertyInfo.GetValue(model));//如果你安装了Namotion.Refelction,可以使用封装好的扩展方法Console.WriteLine("Namotion.Refelction:" + model.TryGetPropertyValue<int>("Id"));Console.WriteLine("Hello, World!");Console.ReadKey();}

在这里插入图片描述

MethodInfo

无参函数运行

在这里插入图片描述

        static void Main(string[] args){TestModel model = new TestModel();var methodInfo = model.GetType().GetMethod("Send");if (methodInfo != null){Console.WriteLine($"方法名:{methodInfo.Name}");Console.WriteLine($"返回值:{methodInfo.ReturnType}");Console.WriteLine("运行方法");methodInfo.Invoke( model, null );}Console.WriteLine("Hello, World!");Console.ReadKey();}

在这里插入图片描述

有参函数运行,获取paramterInfo

在这里插入图片描述

internal class Program
{static void Main(string[] args){TestModel model = new TestModel();var methodInfo = model.GetType().GetMethod("TestSend");//如果你装了Namotion.Refelction,可以使用Xml方法获取注解if (methodInfo!= null ){Console.WriteLine($"方法名:{methodInfo.Name}");Console.WriteLine($"返回值:{methodInfo.ReturnType}");Console.WriteLine($"方法注解:{methodInfo.GetXmlDocsSummary()}");var parmeters = methodInfo.GetParameters();foreach (var item in parmeters){Console.WriteLine($"参数名:{item.Name}");Console.WriteLine($"参数类型:{item.ParameterType}");Console.WriteLine($"参数注解:{item.GetXmlDocs()}");}Console.WriteLine("运行方法,注意无法解决重载问题,因为重载的方法名相同,会直接抛出异常");Console.WriteLine("运行方法的参数类型和个数必须完全一致");methodInfo.Invoke(model, new object[] { "入参",1 });}Console.WriteLine("Hello, World!");Console.ReadKey();}
}

在这里插入图片描述

总结

我们将反射类型的常用内容已经讲解完了。接下来我们将主要讲解Attribute的详细运用。经过这么久的铺垫,我们终于可以开始正常的讲解了。

http://www.15wanjia.com/news/159652.html

相关文章:

  • 企业网站的制作方式展台设计搭建服务
  • 深圳网站建设公司联html5手机网站开发框架
  • 如何把做的网站发布到网上网站建设主流编程软件
  • 天津市做企业标准网站长春建网站一般多少钱
  • 如何制作自己的网站二维码把网站做成静态页面
  • 广告门网站培训教育类网站模板
  • 设计网站推荐原因如何查公司名字是否被注册
  • 用dw制作购物网站首页临沂网站建设方案书
  • 建设培训考试服务网站网络培训课程
  • 网页设计培训班学费多少钱seo推广公司
  • 网站开发毕业设计任务书范文建站
  • 专门做搞笑游戏视频网站网站开发设计心得
  • 营销软件排名深圳网站seo外包公司哪家好
  • 网站制作难不难瑞安地区建设网站
  • 网站备案幕布下载做某个网站接口违法
  • 格朗图手表网站wordpress页面内容显示默认
  • 衡阳市城市建设投资有限公司网站微分销平台登陆
  • 重庆企业网站开发方案dede网站迁移步骤
  • 怎样给公司做一个网站做推广什么是网络营销战略?网络营销战略的内容有哪些?
  • 天津网站建设多少钱门户网站开发 项目实施方案
  • 网站建设功能是什么太原网页设计培训班
  • 做企业网站需要什么资料微信网站怎么做的好处
  • 个人备案网站做商业网络设计与制作课程
  • 做吃穿住行网站酒泉建设局造价官网站
  • 网站建设的知名公司网站免费打包
  • 做微整的网站做网站西美花街
  • 网站建设规划任务书wordpress在页面里写文章
  • 网站接入服务 公司单一产品做网站
  • cdn如何做网站统计上海旧房翻新装修哪家好
  • 医院网站开发公司华梦服饰网站建设中