zoukankan      html  css  js  c++  java
  • .NET中的类型对象

    .NET中的任何类型,都有对应的一个类型对象。类型对象和类型实例(类型创建的一个对象)不是同一个概念。

    类型对象包含类型的静态字段和方法,当类访问静态方法静态字段,实例调用方法时就会去类型对象中查找静态字段和方法

    假设有一个类型叫Animal 那么当我们使用它之前CLR就会创建一个特殊的对象叫类型对象

    Animal a1 = new Animal();
    a1.Eat() //这里访问Eat方法,会先去Animal的类型对象中查找Eat方法,
                //如果之前还没有调用过该方法,那么会先将Eat方法编译成本机代码(已经编译过就不用了)
    Animal.Search("老虎") //这边访问静态方法,也是同上面的原理
    

    类型对象可以通过调用GetType()来访问

    通过上面我们知道相同类型的类型对象都是同一个也就是说

    new Animal().GetType()==new Animal().GetType()//true

    那么类型类型对象本身的类型对象又是什么呢,它其实是Type对象,换句话说任何对象的类型对象的类型对象都是同一个,它自己的类型对象时它本身

    new People().GetType().GetType()==new Clothes().GetType().GetType()//true
    
  • 相关阅读:
    Hibernate的检索
    Java 多线程
    可信软件开发
    Linux复习3
    Linux复习2
    Linux复习1
    使用Sourcetree(for windows)建立github同步仓库
    Session技术
    Cookie技术
    Ajax技术
  • 原文地址:https://www.cnblogs.com/fuyun2000/p/3430435.html
Copyright © 2011-2022 走看看