« 茶味人生 Wrapper 浅析二 (转自c share core) »

wrapper 浅析 (转)

此文摘自于C# Corner网站,并稍有改动,对理解Wrapper,还是很有帮助的. 先用代码说话:

using System;
using System.Collections.Generic;
using System.Text;

namespace SuperpowersArticle
{
    class Thing
    {
        private string m_string;

        public string ThingString
        {
            get { return m_string; }
            set { m_string = value; }
        }

        public void PrintThingString()
        {
            Console.WriteLine(m_string);
        }

    }

    class ThingWrapper
    {
        private Thing m_thing;

        public ThingWrapper(Thing pThing)
        {
            m_thing = pThing;
        }

        public string ThingString
        {
            get { return m_thing.ThingString; }
            set { m_thing.ThingString = value; }
        }

        public void PrintThingString()
        {
            m_thing.PrintThingString();
        }

    }

    class BasicWrapperSample
    {
        public static void Main()
        {
            Thing t = new Thing();
            t.ThingString = "This is the ThingString";
            t.PrintThingString();

            ThingWrapper tWrap = new ThingWrapper(t);
            tWrap.PrintThingString();
            tWrap.ThingString = "This is still the ThingString";
            tWrap.PrintThingString();
            Console.Read();
        }
    }
}
 

output:

This is the ThingString

This is the ThingString

This is still the ThingString.

 

此例并没有阐述Wrapper的好处,只是告诉咱们Wrapper咋回事.就是加了层包装而已. 引用该作者原图:

 

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。