zoukankan      html  css  js  c++  java
  • 【CLR Via C#笔记】 类型对象

    1. CLR 在创建一个新对象时,会同时创建它的类型对象(如果该对象的类型对象不存在的话),类型对象包括静态的字段和方法等。


    2. 对象在堆中分配的内存包括实例字段和类型对象指针、同步块索引。类型对象指针指向 类型对象。因此CLR可以通过GetType()运行时查询对象的类型。

    3. 类型构造器:

    internal sealed class SomeRefType
    {
      
    static SomeRefType(){//SomeRefType第一次被访问时执行}
      public static Int32 i = 123;  //相当于在类型构造其中执行 i = 123;
    }

    //值类型也允许定义,但最好不要这么做
    internal struct SomeValType{
       staitc SomeValType(){
         
    //SomeValType第一次被访问时执行
          Console.WriteLine("This never gets displayed");
        }
       
    public Int32 m_x;
    }

    //下面的代码会导致SomeValType的类型构造器不执行
    public static void Main()
    {
      SomeValType[]a 
    = new SomeValType[10];
      a[
    0].m_x = 1;
    }

  • 相关阅读:
    Unity3D笔记 英保通三 脚本编写 、物体间通信
    Unity3D笔记 英保通二
    Unity3D 面试ABC
    Unity3D 记第一次面试
    Unity3D笔记 英保通一
    (转)关于如何学好游戏3D引擎编程的一些经验
    Java_异常
    Java_多态
    Java_继承(下)
    Java_继承(上)
  • 原文地址:https://www.cnblogs.com/calmzeal/p/1322117.html
Copyright © 2011-2022 走看看