Delegates can refer to instance methods : delegate « delegate « C# / CSharp Tutorial






using System; 
 
delegate string StrMod(string str); 
 
class StringOps { 
  public static string replaceSpaces(string a) { 
    Console.WriteLine("replaceSpaces"); 
    return a; 
  }  
 
  public static string removeSpaces(string a) { 
    Console.WriteLine("removeSpaces"); 
    return a; 
  }  
 
  public static string reverse(string a) { 
    Console.WriteLine("reverseSpaces"); 
    return a; 
  } 
} 
 
class MainClass {   
  public static void Main() {  
 
    // Initialize a delegate. 
    StrMod strOp = new StrMod(StringOps.replaceSpaces); 
    string str; 
 
    // Call methods through delegates. 
    str = strOp("This is a test."); 
      
    strOp = new StrMod(StringOps.removeSpaces); 
    str = strOp("This is a test."); 
 
    strOp = new StrMod(StringOps.reverse); 
    str = strOp("This is a test."); 

  } 
}
replaceSpaces
removeSpaces
reverseSpaces








9.1.delegate
9.1.1.Define a delegate with no return value and no parameters
9.1.2.Add both static and non-static function to a delegate
9.1.3.Delegate with reference paramemters
9.1.4.Delegate with return values
9.1.5.Use a delegate to call object methods
9.1.6.delegate is a function pointer
9.1.7.A simple delegate example.
9.1.8.Construct a delegate using method group conversion
9.1.9.Delegates can refer to instance methods
9.1.10.Delegates to Instance Members
9.1.11.uses the invocation list to calculate a factorial
9.1.12.named-delegate invocation
9.1.13.Use delegate to reference two static functions
9.1.14.Declare a delegate and assigns a reference to either the WriteLine method or the ShowWindowsMessage method to its delegate instance.