public interface IRender { void Render(); } public class Photo { IRender iRender; public void SetRender(IRender iRenderParam) { iRender = iRenderParam; } public void RenderPhoto() { iRender.Render(); } } public class NormalRender : IRender { public void Render() { Console.WriteLine("Normal Render"); } } public class WaterMarkRender : IRender { private void RenderWaterMark() { Console.WriteLine("Render WaterMark"); } public void Render() { RenderWaterMark(); } } public class Program { static void Main(string[] args) { Photo photo = new Photo(); photo.SetRender(new NormalRender()); photo.RenderPhoto(); photo.SetRender(new WaterMarkRender()); photo.RenderPhoto(); Console.ReadLine(); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)