/*问题在代码的注释里*/
using System;
using System.Collections.Generic;
using System.Text;

namespace temp
{
    class Dir
    {
        public string str;
        public void BaseFun(Dir dir)
        {
            /*将this参数传到dir时,会有一次封箱动作,
             * 我希望此处打印出来的是hello,但不知道应该如何把我想要的str的值取出来*/
            Console.WriteLine(dir.str);
        }
    }

    class Y:Dir
    {
        public string str;
        public Y()
        {
            str = "hello";
        }
        public void CallBase()
        {
            base.BaseFun(this);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Y y = new Y();
            y.CallBase();
        }
    }
}