官方文档:https://msdn.microsoft.com/zh-cn/library/system.type%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

C#中通过Type类可以访问任意数据类型信息。 

system.Type类以前把Type看作一个类,但它实际上是一个抽象的基类。

只要实例化了一个Type对象,实际上就实例化了Typc的一个派生类。

尽管一般情况下派生类只提供各种Type方法和属性的不同重载,但是这些方法和属性返回对应数据类型的正确数据,Type有与每种数据类型对应的派生类。

Type是许多反射功能的入口 。注意,可用的属性都是只读的:可以使用Type确定数据的类型,但不能使用它修改该类型

1.获取Type

 有3种方式:
  a.使用typeof运算符,如Type t = typeof(int);
  b.使用GetType()方法,如int i;Type t = i.GetType();
  c.使用Type类的静态方法GetType(),如Type t =Type.GetType("System.Double");

2.Type的属性:
  Name:数据类型名;
  FullName:数据类型的完全限定名,包括命名空间;
  Namespace:数据类型的命名空间;
  BaseType:直接基本类型;
  UnderlyingSystemType:映射类型;

3.Type的方法:
  GetMethod():返回一个方法的信息;
  GetMethods():返回所有方法的信息。

GetMember()和GetMembers()方法返回数据类型的任何成员或所有成员的详细信息,不管这些成员是构造函数、属性和方法等。

  1. public static void Main()
  2. {
  3. //基本数据类型
  4. Type intType = typeof(int);
  5.  
  6. //属性
  7. Console.WriteLine("intType.Name = " + intType.Name);
  8. Console.WriteLine("intType.FullName = " + intType.FullName);
  9. Console.WriteLine("intType.Namespace = " + intType.Namespace);
  10. Console.WriteLine("intType.IsAbstract = " + intType.IsAbstract);
  11. Console.WriteLine("intType.IsClass = " + intType.IsClass);
  12. Console.WriteLine("intType.IsEnum = " + intType.IsEnum);
  13. Console.WriteLine("intType.IsPrimitive = " + intType.IsPrimitive);
  14. Console.WriteLine("intType.IsValueType = " + intType.IsValueType);
  15.  
  16. //方法
  17. MethodInfo[] methods = intType.GetMethods();
  18. foreach (MethodInfo method in methods)
  19. {
  20. Console.WriteLine(method.DeclaringType + " " + method.MemberType + " " + method.Name);
  21. }
  22. }

参考文档:

https://www.cnblogs.com/kingdom_0/articles/2040855.html

http://www.knowsky.com/604653.html

c#基础之Type的更多相关文章

  1. Python基础(九) type元类

    python元类:type()    元类是python高阶语法. 合理的使用可以减少大量重复性的代码. 元类实际上做了以下三方面的工作: 干涉创建类的过程 修改类 返回修改之后的类 为什么使用元类? ...

  2. 1、js基础内容

    js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...

  3. Linux 基础教程 25-命令和文件查找

    which     不管是在Windows还是Linux系统中,我们都会偶尔执行一些系统命令,比如Windows常见的cmd.ping.ipconfig等,它们的位置都在%systemdrive%中. ...

  4. 『GoLang』语法基础

    标识符 字母或下划线开头 之后只能出现数字.字母.下划线 大小写敏感 Go语言关键字 break default func interface select case defer go map str ...

  5. 培训第五天---JS

    &&与||的基础<script type="text/javascript"> var c = 4||3; alert(c);</script&g ...

  6. 微信jssdk,实现多图上传的一点心得

    一.首先在common.js里封装一个函数,在需要调用jsSDK的页面引用此方法即可实现微信的信息配置function signatureJSSDK() { var url = window.loca ...

  7. Head first javascript

    基础 <script type="text/javascript"> function validateNumber(value) { // Validate the ...

  8. Lesson 2: Dive Into Typography (排版)

    Lesson 2: Dive Into Typography (排版) 排版是字的艺术,是关于字的一切:字体.字号.行高.行长.字重(斜体/加粗/正常).字距(kerning).行距(leading) ...

  9. python之路:进阶篇

     > ) {        ;    }    printf(;} print i >>>      >>>  == :    name  ==   ==   ...

随机推荐

  1. matplotlib绘图的基本操作

    转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...

  2. 微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)

    最近帮人家做一个微信小程序,刚好想熟悉一下.由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式. 后台服务器是windows server,后台程序是.Net  WebA ...

  3. Jquery mobile动态生成ListView调用刷新方法报错

    错误:cannot call methods on listview prior to initialization... 示例: <div data-role="page" ...

  4. windows 比较文件命令--fc

    dos环境下的比较文件命令 win7帮助 D:\test>fc /? 比较两个文件或两个文件集并显示它们之间 的不同 FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LI ...

  5. 数据标记系列——标记工具Imagtagger

    https://github.com/bit-bots/imagetagger 待有空说一说!

  6. MySQL之InnoDB数据页结构(转自掘金小册 MySQL是怎样运行的,版权归作者所有!)

    InnoDB为了不同的目的而设计了不同类型的页,我们把用于存放记录的页叫做数据页. 一个数据页可以被大致划分为7个部分,分别是 File Header,表示页的一些通用信息,占固定的38字节. Pag ...

  7. Manacher算法详解

    问题 什么是回文串,如果一个字符串正着度读和反着读是一样的,这个字符串就被称为回文串. such as noon level aaa bbb 既然有了回文,那就要有关于回文的问题,于是就有了-- 最长 ...

  8. bzoj 3223: Tyvj 1729 文艺平衡树 (splay)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3223 题面: 3223: Tyvj 1729 文艺平衡树 Time Limit: 10 S ...

  9. c 判断文件或文件夹是否存在,多种方法, 为什么从一开始就不直接来个统一的呢?

    具体内容,请看: https://blog.csdn.net/u012494876/article/details/51204615 判断文件或文件夹是否存在,竟然有这么多方法: GetFileAtt ...

  10. 【GDOI2016模拟3.16】幂(容斥 + 模型复杂转化)

    [GDOI2016模拟3.16]幂 \(X\in[1,A],Y\in[1,B]\),问:\(x^y\)的不用取值个数. \(A,B\)都是\(10^9\)级别. 然后我们开搞. 首先,假设一个合法的\ ...