c#中GetType()与Typeof()的区别

案例1:


代码如下:

int i = 5;
Console.WriteLine(i.GetType());//System.Int32
var x = 127.25m;
Console.WriteLine(x.GetType());//System.Decimal

案例2:


代码如下:

namespace _2011._12._15
{
    class Program
    {
        static void Main(string[] args)
        {
            Test testone = new Test();
            string s = testone.GetType().ToString();
            Console.WriteLine(s);//_2011._12._15.Test  命名空间的Test类
        }
    }
    class Test
    {    
    }
}

Typeof()返回的是类名的对象,也可以返回类名,也可以返回特定类内部的方法和字段


代码如下:

namespace _2011._12._15
{
    class Program
    {
        static void Main(string[] args)
        {
            Test testone = new Test();
            string s = testone.GetType().ToString();
            Console.WriteLine("GetType():");
            Console.WriteLine(s);//_2011._12._15.Test  命名空间的Test类

Type type = typeof(Test);
            Console.WriteLine("Typeof():");
            Console.WriteLine(type);//_2011._12._15.Test  命名空间的Test类
            Console.WriteLine();

MethodInfo[] methodinfo = type.GetMethods();

Console.WriteLine(methodinfo.GetType());//System.Reflection.MethodInfo[]
            foreach (var i in methodinfo)
            {
                Console.WriteLine(i);//输出Test类的所有方法及继承Object的实例方法
            }
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            MemberInfo[] memberinfo = type.GetMembers();
            Console.WriteLine(memberinfo.GetType());
            foreach(var i in memberinfo)
            {
                Console.WriteLine(i);//输出Test类字段和System.type类型
            }
        }

}
    class Test
    {
        private int age;
        public string name;
        public void speaking()
        {
            Console.WriteLine("Welcome to cnblog!");
        }
        public void writing()
        {
            Console.WriteLine("Please writing something!");
        }
    }
}

运行结果:


代码如下:

GetType():
_2011._12._15.Test
Typeof():
_2011._12._15.Test

System.Reflection.MethodInfo[]
Void speaking()
Void writing()
System.Type GetType()
System.String ToString()
Boolean Equals(System.Object)
Int32 GetHashCode()

System.Reflection.MemberInfo[]
Void speaking()
Void writing()
System.Type GetType()
System.String ToString()
Boolean Equals(System.Object)
Int32 GetHashCode()
Void .ctor()
System.String name

(0)

相关推荐

  • 浅谈nodeName,nodeValue,nodeType,typeof 的区别

    nodeName 属性含有某个节点的名称. 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是 #document nodeValue 节点值 对于文本节点,nodeValue 属性包含文本. 对于属性节点,nodeValue 属性包含属性值. nodeValue 属性对于文档节点和元素节点是不可用的. nodeType 属性可返回节点的类型. 最重要的节点类型是: 元素ele

  • js判断undefined变量类型使用typeof

    js判断undefined变量类型直接用 复制代码 代码如下: if(mydata=='undefined'){ alert("未定义"); } 这是个很低级的错误,这么使: 复制代码 代码如下: if(typeof(mydata)=='undefined'){ alert("未定义"); }

  • nodeType属性返回被选节点的节点类型介绍

    节点编号: 节点名称: 1  Element 2  Attribute 3  Text 4  CDATA Section 5  Entity Reference 6  Entity 7  Processing Instrucion 8  Comment 9  Document 10  Document Type 11  Document Fragment 12  Notation

  • HTML DOM的nodeType值介绍

    nodeName.nodeValue 以及 nodeType 包含有关于节点的信息. nodeName 属性含有某个节点的名称. 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是 #document 注释:nodeName 所包含的 XML 元素的标签名称永远是大写的 nodeValue 对于文本节点,nodeValue 属性包含文本. 对于属性节点,nodeValue 属性

  • 使用typeof方法判断undefined类型

    有关js判断undefined类型,使用typeof方法,typeof 返回的是字符串,其中就有一个是undefined. js判断undefined类型 if (reValue== undefined) { alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof方法: if (typeof(reValue) == "undefined") { alert("undefined"); } typeof 返回字符

  • javascript typeof的用法与typeof运算符介绍[详细]第1/2页

    经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. if(document.mylist.length != "undefined" ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != "undefined" ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof的运算数未定义,返回的就是 "

  • js中typeof的用法汇总

    JavaScript中的typeof其实非常复杂,它可以用来做很多事情,但同时也有很多怪异的表现.本文列举出了它的多个用法,而且还指出了存在的问题以及解决办法. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FOperators%2Ftypeof > type

  • Js nodeType 属性全面解析

    定义和用法nodeType 属性返回被选节点的节点类型. 语法:elementNode.nodeType 节点编号: 节点名称: 1 Element 2 Attribute 3 Text 4 CDATA Section 5 Entity Reference 6 Entity 7 Processing Instrucion 8 Comment 9 Document 10 Document Type 11 Document Fragment 12 Notation

  • c#中GetType()与Typeof()的区别

    案例1: 复制代码 代码如下: int i = 5;Console.WriteLine(i.GetType());//System.Int32var x = 127.25m;Console.WriteLine(x.GetType());//System.Decimal 案例2: 复制代码 代码如下: namespace _2011._12._15{    class Program    {        static void Main(string[] args)        {     

  • C#基础知识之GetType与typeof的区别小结

    在实际开发中经常需要了解具体对象的类型,所以经常会使用GetType()和typeof().尽管可以得到相应的类型.但两者之间也存在一些差别,接下来我们一起来了解一下吧. 一.GetType()与typeof() 1.typeof():typeof 运算符用于获取某个类型的 System.Type实例. typeof 运算符的实参必须是类型或类型形参的名称,如以下示例所示:控制台输出: Console.WriteLine($"得到类型为:{typeof(int)}"); Console

  • C#中Property和Attribute的区别实例详解

    本文实例分析了C#中Property和Attribute的区别.分享给大家供大家参考.具体分析如下: 在C#中有两个属性,分别为Property和Attribute,两个的中文意思都有特性.属性之间,但是用法上却不一样,为了区别,本文暂把Property称为特性,把Attribute称为属性. Attribute才是本文的主角,把它称为属性我觉得很恰当.属性的意思就是附属于某种事物上的,用来说明这个事物的各种特征的一种描述.而Attribute就是干这事的.它允许你将信息与你定义的C#类型相关联

  • 详解PHP中cookie和session的区别及cookie和session用法小结

    具体来说 cookie 是保存在"客户端"的,而session是保存在"服务端"的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间. session 一种类似散列表的形式保存信息, 当程序需要为某个客户端的请求创建一个

  • C#中is与as的区别分析

    本文实例分析了C#中is与as的区别,分享给大家供大家参考.具体分析如下: 一.C#类型的转换 在c#中类型的转换分两种:显式和隐式,基本的规则如下: 1.基类对象转化为子类对象,必须显式转换,规则:(类型名) 对象. 2.值类型和引用类型的转换采用装箱(boxing)或拆箱(unboxing). 3.子类转化为基类对象. 4.基本类型互相之间转化可以用Covent类来实现. 5.字符串类型转换为对应的基本类型用Parse方法,除了String类型外其他的类型都可以用Parse方法. 6.用Ge

  • 浅谈JS中String()与 .toString()的区别

    我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 1..toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined 例如将false转为字符串类型 <script> var str = false.toString(); console.log(str, typeof str); </script> 返回的结果为 false,string 看看null 和

  • JavaScript中object和Object的区别(详解)

    JavaScript中object和Object有什么区别,为什么用typeof检测对象,返回object,而用instanceof 必须要接Object呢 这个问题和我之前遇到的问题非常相似,我认为这里有两个问题需要解决,一个是运算符new的作用机制,一个是function关键字和Funtion内置对象之间的区别.看了一些前辈的博客和标准,这里帮提问者总结一下. 1.new new运算符的作用是创建一个对象实例.这个对象可以是用户自定义的,也可以是带构造函数的一些系统自带的对象.如果 new

  • C#中String与string的区别分析

    本文实例展示了C#程序设计中String与string的区别,对于C#初学者来说有很好的参考借鉴价值.具体如下: 一.区别分析: String:类,System.String string:类型,变量 两者本质上没有任何区别,都是System.String,string只是System.String的别名而已 唯一的区别在于如何按照代码约定的来写,如声明变量时使用小写string,使用System.String下方法时使用大写的String 二.示例代码如下: class Program { s

  • 简单了解Spring中BeanFactory与FactoryBean的区别

    这篇文章主要介绍了简单了解Spring中BeanFactory与FactoryBean的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混. 一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Be

  • C++ 中引用与指针的区别实例详解

    C++ 中引用与指针的区别实例详解 引用是从C++才引入的,在C中不存在.为了搞清楚引用的概念,得先搞明白变量的定义及引用与变量的区别,变量的要素一共有两个:名称与空间. 引用不是变量,它仅仅是变量的别名,没有自己独立的空间,它只符合变量的"名称"这个要素,而"空间"这个要素并不满足.换句话说,引用需要与它所引用的变量共享同一个内存空间,对引用所做的改变实际上是对所引用的变量做出修改.并且引用在定义的时候就必须被初始化.     参数传递的类型及相关要点: 1 按值

随机推荐