none
C#的解構式問題? RRS feed

  • 問題

  • 各位好:

    查過MSDN的文章後,看到類似這段話:"如果解構式為空,就不需撰寫!"之類的話。倘若如此,假使基底類別的解構式不為空,但衍生類別的解構式為空,那麼衍生類別是否也不需要撰寫解構式呢?

     

    2011.10.13     chouyuanming

    2011年10月13日 上午 08:10

解答

所有回覆

  • 請問您是說Constructor嗎?

     

    public class classA
        {
            private string _prop1;
            public classA(string p1) {
                _prop1 = p1;
            }
    
            public string Prop1
            {
                get { return _prop1; }
                set { _prop1 = value; }
            }
        }
    
    
        public class classB : classA
        {
            public classB()
                : base("B1")
            {
    
            }
    
            public classB(string p1): base(p1)
            {
                
            }
        }

    public class classC : classB
    {

    }

    classB b = new classB();
     MessageBox.Show(b.Prop1);
     classB bb = new classB("P1");
    MessageBox.Show(bb.Prop1);
    classC c = new classC();
    MessageBox.Show(c.Prop1);


     

     

     

     


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    • 已編輯 亂馬客 2011年10月13日 上午 10:04
    2011年10月13日 上午 10:02
  • 如果解構函式為空, 就不要寫, 以免影響Garbage Collector的執行效能, 請參考:Destructors (C# Programming Guide)
    • 已提議為解答 Jess KEE 2011年10月13日 下午 02:08
    • 已標示為解答 chouyuanming 2011年10月14日 上午 12:18
    2011年10月13日 下午 01:14