public void Visitor_Test()
        {
            var structure = new Structure();
            var e1        = new Element01()
            {
                State = 0
            };
            var e2 = new Element02()
            {
                State = 1
            };
            var v1 = new VisitorA();
            var v2 = new VisitorB();

            structure.Elements.Add(e1);
            structure.Elements.Add(e2);

            structure.Accept(v1);

            Assert.IsTrue(e1.State == 2 && e2.State == 3);

            structure.Accept(v2);

            Assert.IsTrue(e1.State == 12 && e2.State == 13);
        }
Beispiel #2
0
    static void Main(string[] args)
    {
        IBase    obj  = new BaseElement();
        IElement obj1 = new Element01();

        obj.method01();    //call base
        obj1.method01();
        Console.ReadLine();
    }