意图:
表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义
作用于这些元素的新操作。
结构:
代码:
abstract class Visitor{
public abstract void VisitConcreteElementA(ConcreteElementA elementA);
public abstract void VisitConcreteElementB(ConcreteElementB elementB);
}
class ConcreteVisitor1:Visitor{
pulibc override void VisitConcreteElementA(ConcreteElementA elementA){
Console.WriteLine("element:%s 被 visitor:%s访问\n",elementA.GetType().Name,this.GetType().Name);
}
pulibc override void VisitConcreteElementB(ConcreteElementB elementB) {
Console.WriteLine("elem