What is the need for Decorator Pattern
in C# (C Sharp)?

If you want to dynamically add additional tasks to an object, then you can do it using Decorator pattern. Here is a code sample to demonstrate how to use decorators:




class sampleClass {
public virtual void sampleMethod() {
Console.WriteLine(“Executing sampleMethod of sampleClass”);
}
}
abstract class decoratorClass:sampleClass {
protected sampleClass sampleObj;
public sampleClass SampleObj {
set { sampleObj = value; }
}
public override void sampleMethod() {
if (sampleObj != null) { sampleObj.sampleMethod(); }
}
}
class derivedDecorator:decoratorClass {
public override void sampleMethod() {
base.sampleMethod();
AddedActivity();
}
public void AddedActivity() {
Console.WriteLine(“Executing additional behavior using decorators”);
}
}
class testClass {
public static void Main() {
sampleClass obj = new sampleClass();
derivedDecorator dObj = new derivedDecorator();
dObj.SampleObj = obj;
dObj.sampleMethod();
}
}

Output of this code will be:

Executing sampleMethod of sampleClass
Executing additional behavior using decorators

_______________________________________________________________________

Add to My Yahoo!


FREE Subscription

Subscribe to our mailing list and receive new articles
through email. Keep yourself updated with latest
developments in the industry.

Name:
Email:

Note : We never rent, trade, or sell my email lists to
anyone. We assure that your privacy is respected
and protected.

Visit .NET Programming Tutorial Homepage

______________________________________________________

Recommended Resource

| What is the need for Bridge Pattern in C#? | What is the need for Builder Pattern in C#? | What is the need for Chain of Responsibility Pattern in C#? | What is the need for Command Pattern in C#? | What is the need for Composite Pattern in C#? | What is the need for Decorator Pattern in C#? | What is the need for Flyweight Pattern in C#? | What is the need for Interpreter Pattern in C#? | What is the need for Iterator Pattern in C#? | What is the need for Mediator Pattern in C#? | What is the need for Memento Pattern in C#? | What is the need for Prototype Pattern in C#? | What is the need for State Pattern in C#? | What is the need for Strategy Pattern in C#? | What is the need for Template Method Pattern in C#? | What is the need for unsafe code in C#? | What is the purpose of assert() in C#? | What is the purpose of AutoResetEvent in .NET? | What is the purpose of Console.ReadLine() in C#? | What is the purpose of machine.config file in .NET? |


| Privacy Policy for www.dotnet-guide.com | Disclosure | Contact |

Copyright - © 2004 - 2017 - All Rights Reserved.