|
Listing 10-32 extracted from chapter The .NET 2 type system from a C#2 point of view
Listing 10-31< > Listing 10-33
This listing can be compiled with the command line: csc.exe /target:exe Example_10_32.cs Errors: 0 Warnings: 0
Example_10_32.cs
public class Program {
// Definitions for delegate classes: Deleg1 and Deleg2.
delegate void Deleg1();
delegate string Deleg2(string s);
static void f1() {
System.Console.WriteLine("f1() called.");
}
static string f2( string s ) {
string _s=string.Format( "f2() called with the param \"{0}\"." , s );
System.Console.WriteLine( _s );
return _s;
}
public static void Main() {
// Create a delegate object, instance of the 'Deleg1' delegate class.
// This object references the 'f1()' method.
Deleg1 d1 = new Deleg1( f1 );
// Call the 'f1()' method through the 'd1' delegate object.
d1();
// Create a delegate object, instance of the 'Deleg2' delegate class.
// This object references the 'f2()' method.
Deleg2 d2 = new Deleg2( f2 );
// Call the 'f2("hello")' method with the 'd2' delegate object.
string s = d2( "hello" );
}
}
Copyright Patrick Smacchia 2006 2007
|