コード例 #1
0
        public override void VisitElementB(ElementB elementB)
        {
            // Код который мог быть размещен в классе ElementB,
            // расширяет собой класс ElementB.
            elementB.SomeState = "State B";
            Console.WriteLine(elementB.SomeState);

            // Работа с разнородным интерфейсом.
            elementB.OperationB();
        }
コード例 #2
0
        static void Main()
        {
            ElementA elementA = new ElementA();
            ElementB elementB = new ElementB();

            elementA.VisitConcreteElementA();
            elementB.VisitConcreteElementB();

            // Задержка.
            Console.ReadKey();
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: kaplunov93/Patterns
 public abstract void VisitElementB(ElementB el);
コード例 #4
0
ファイル: Program.cs プロジェクト: kaplunov93/Patterns
 public override void VisitElementB(ElementB el)
 {
     Console.WriteLine("{0} visited by {1}", el.GetType().Name, this.GetType().Name);
 }
コード例 #5
0
ファイル: Visitor.cs プロジェクト: AntonyGits/PatternssC-
 public abstract void VisitElementB(ElementB elementB);
コード例 #6
0
 public static void VisitConcreteElementB(this ElementB element)
 {
     element.OperationB();
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: kaplunov93/Patterns
 public override void VisitElementB(ElementB el)
 {
     Console.WriteLine("{0} visited by {1}", el.GetType().Name, this.GetType().Name);
 }