<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      我不知道的C#-構造方法中調用虛方法

      class Program
       {
        static void Main(string[] args)
        {
         try
         { B b = new B();  }
         catch(Exception ex)
         {Console.WriteLine(ex.GetType().ToString()); }
         Console.Read();
        }

        class A
        { protected Ref my;
         public A()
         { my = new Ref();
          Console.Write(ToString()); }
         public override string ToString()
         {  return my.ToString(); }
        }

        class B : A
        { private Ref my2;
         public B() : base()
         { my2 = new Ref();}
         public override string ToString()
         {return my2.ToString();}
        }
        //一個對象引用
        class Ref
        { public string s = "我是一個對象";}
       }
          運行以上代碼會出現異常,原因很簡單,類A是其他類的基礎類,但是在類A的構造函數中調用了虛方法ToString(),導致程序出錯。原因是在執行new B();  時的執行順序是首先初始化自己的保護變量my然后調用基類的構造函數A(),最后再執行自己的構造函數B(),問題處在調用基類構造函數A()的時候整個對象類型任然保持了真是的類型B,CLR執行類型A的虛方法ToString()的時候會去找它自身的虛方法,就是類型B的ToString()方法,但是此時B的構造過程還沒有結束它是不可能調用到這個ToString()虛方法的,對于未構造成員的訪問將會產生異常。
           避免這種異常的方法是在將會被集成的類的構造函數中永遠不要使用虛方法。

      posted @ 2009-08-25 00:02  nd  閱讀(1318)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 国产欧美另类精品久久久| 97精品人妻系列无码人妻| 成av免费大片黄在线观看 | 9999国产精品欧美久久久久久| 99久久亚洲综合精品网| 中文字幕人妻中出制服诱惑| 少妇激情av一区二区三区| 国产免费性感美女被插视频| 欧美影院成年免费版| 亚洲免费一区二区av| 中文字幕有码高清日韩| 久久国产自偷自免费一区| 91中文字幕在线一区 | 2020国产成人精品视频| 国产无码高清视频不卡 | 国产精品国产三级国产专| 蜜桃视频在线免费观看一区二区 | 中文字幕人妻不卡精品| 精品999日本久久久影院| 久久国产自偷自偷免费一区| 亚洲欧洲一区二区精品| 人妻在线无码一区二区三区| 任我爽精品视频在线播放| 午夜成人无码免费看网站| 武清区| 动漫av网站免费观看| 国产女人在线视频| 欧美亚洲高清日韩成人| 国产精品白丝一区二区三区| 真人作爱免费视频| 亚洲悠悠色综合中文字幕| 亚洲精品乱码久久久久久蜜桃不卡| 国色天香成人一区二区 | √天堂资源地址在线官网| 亚洲精品中文字幕一区二| 亚洲国产精品人人做人人爱| 新余市| 国产精品久久一区二区三区| 国产欧美日韩视频怡春院| 高清自拍亚洲精品二区| 18禁网站免费无遮挡无码中文|