public override void Operation() { if (component != null) { component.Operation(); } }
public override void Operation() // 重写Operation(),实际执行的是Component.O..(); { if (component != null) { component.Operation(); } }
/// <summary> /// 重写基本操作 /// </summary> public override void Operation() { if (null != component) { component.Operation(); } }
static void Main(string[] args) { IComponent orgComponent = new Component(); DecoratorA aComponent = new DecoratorA(orgComponent); DecoratorB bComponent = new DecoratorB(orgComponent); DecoratorA abComponent = new DecoratorA(bComponent); Console.WriteLine($"Original object: {orgComponent.Operation()}"); Console.WriteLine($"A Decorator object: {aComponent.Operation()}. {aComponent.AddedBehavior()}"); Console.WriteLine($"B Decorator object: {bComponent.Operation()}"); Console.WriteLine($"AB Decorator object: {abComponent.Operation()}"); Console.ReadKey(); }
public override void Operation() { Component?.Operation(); }
public virtual void Operation() { component.Operation(); }
public override void Operation() { _component.Operation(); }
override public void Operation() { component.Operation(); }
public override void Operation() { component.Operation();//调用原有业务方法 }