日期:2014-05-17  浏览次数:20944 次

C# 类中base和this的问题,求帮忙
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CLR_TEST1
{
    public class BaseClass
    {
        public virtual void Print()
        {
            Console.WriteLine(this.GetType().FullName);
            Console.WriteLine("BaseClass Print");
        }
    }
    public class DirClass : BaseClass
    {
        public override void Print()
        {
            base.Print();
            Console.WriteLine(base.GetType().FullName);
            Console.WriteLine("DirClass Print");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            DirClass b = new DirClass();
            b.Print();
            Console.Read();
        }
    }
}

我期待的结果是:
CLR_TEST1.BaseClass
BaseClass Print
CLR_TEST1.BaseClass
DirClass Print

可结果是:
CLR_TEST1.DirClass 
BaseClass Print
CLR_TEST1.DirClass 
DirClass Print

这是为什么?
c# base this

------解决方案--------------------