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
    
  • 相关阅读:
    标签平滑Label Smoothing
    py 中传参时**符号学习
    RoBERTa模型学习
    获取bert所有隐层的输出
    json.dumps||ensure_ascii
    nn.LSTM输入、输出、参数及pad
    py中的heapq操作
    fastnlp中的CRF补齐的padding?
    P3393 逃离僵尸岛 最短路dijkstra
    P2057 [SHOI2007]善意的投票 最小割
  • 原文地址:https://www.cnblogs.com/fuyun2000/p/3430435.html
Copyright © 2011-2022 走看看