- using System;
- using System.Text;
- namespace NMDuck
- {
- public interface ITurkey
- {
- string Gobble();
- string Fly();
- };
- public interface IDuck
- {
- string Quack();
- string Fly();
- };
- public class CWildTurkey:ITurkey
- {
- public CWildTurkey()
- {
- }
- #region ITurkey Members
- public string Gobble()
- {
- return "good gobble";
- }
- public string Fly()
- {
- return "i am flying a short distance";
- }
- #endregion
- }
- public class CTurkeyAdapter:IDuck
- {
- public CTurkeyAdapter(ITurkey objTurkey)
- {
- this.m_objTurkey = objTurkey;
- }
- #region IDuck Members
- public string Quack()
- {
- return this.m_objTurkey.Gobble();
- }
- public string Fly()
- {
- int i = 0;
- StringBuilder strbd = new StringBuilder();
- for (i = 0; i < 5; i++)
- {
- strbd.Append(this.m_objTurkey.Fly());
- strbd.Append("/n");
- }
- return strbd.ToString();
- }
- #endregion
- private ITurkey m_objTurkey;
- }
- public class CMallarDuck: IDuck
- {
- public CMallarDuck()
- {
- }
- #region IDuck Members
- public string Quack()
- {
- return "Quack";
- }
- public string Fly()
- {
- return "I am flying";
- }
- #endregion
- }
- public class CDuckAdapter:ITurkey
- {
- public CDuckAdapter(IDuck objDuck)
- {
- this.m_objDuck = objDuck;
- }
- #region ITurkey Members
- public string Gobble()
- {
- return this.m_objDuck.Quack();
- }
- public string Fly()
- {
- return this.m_objDuck.Fly();
- }
- #endregion
- private IDuck m_objDuck;
- }
- }