1. C# 
  2.      using System; 
  3.      using System.Collections.Generic; 
  4.      namespace MarvellousWorks.PracticalPattern.Concept.Delegating 
  5.      { 
  6.         public delegate void StringAssignmentEventHandler(); //抽象的操作方法 
  7.         public class InvokeList 
  8.         { 
  9.             private IList<StringAssignmentEventHandler> handlers; 
  10.             private string[] message = new string[3]; 
  11.             public InvokeList() 
  12.             { 
  13.                 // 绑定一组抽象方法 
  14.                 handlers = new List<StringAssignmentEventHandler>(); 
  15.                 handlers.Add(AppendHello); 
  16.                 handlers.Add(AppendComma); 
  17.                 handlers.Add(AppendWorld); 
  18.             } 
  19.             public void Invoke() 
  20.             { 
  21.                 foreach (StringAssignmentEventHandler handler in handlers) 
  22.                    handler(); 
  23.             } 
  24.             public string this[int index] { get { return message[index]; } } 
  25.             // 具体操作方法 
  26.             public void AppendHello() { message[0] = "hello"; } 
  27.             public void AppendComma() { message[1] = ","; } 
  28.             public void AppendWorld() { message[2] = "world"; } 
  29.         } 
  30.      }