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

            // Работа с разнородным интерфейсом.
            elementA.OperationA();
        }
コード例 #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 VisitElementA(ElementA el);
コード例 #4
0
ファイル: Program.cs プロジェクト: kaplunov93/Patterns
 public override void VisitElementA(ElementA el)
 {
     Console.WriteLine("{0} visited by {1}", el.GetType().Name, this.GetType().Name);
 }
コード例 #5
0
ファイル: Visitor.cs プロジェクト: AntonyGits/PatternssC-
 public abstract void VisitElementA(ElementA elementA);
コード例 #6
0
 public static void VisitConcreteElementA(this ElementA element)
 {
     element.OperationA();
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: kaplunov93/Patterns
 public override void VisitElementA(ElementA el)
 {
     Console.WriteLine("{0} visited by {1}", el.GetType().Name, this.GetType().Name);
 }