look up System.Delegate
Example:
using System;
public class SamplesDelegate {
// Declares a delegate for a method that takes in an int and returns a
String.
public delegate String myMethodDelegate( int myInt );
// Defines some methods to which the delegate can point.
public class mySampleClass {
// Defines an instance method.
public String myStringMethod ( int myInt ) {
if ( myInt > 0 )
return( "positive" );
if ( myInt < 0 )
return( "negative" );
return ( "zero" );
}
// Defines a static method.
public static String mySignMethod ( int myInt ) {
if ( myInt > 0 )
return( "+" );
if ( myInt < 0 )
return( "-" );
return ( "" );
}
}
public static void Main() {
// Creates one delegate for each method.
mySampleClass mySC = new mySampleClass();
myMethodDelegate myD1 = new myMethodDelegate( mySC.myStringMethod );
myMethodDelegate myD2 = new myMethodDelegate(
mySampleClass.mySignMethod );
// Invokes the delegates.
Console.WriteLine( "{0} is {1}; use the sign \"{2}\".", 5, myD1( 5 ),
myD2( 5 ) );
Console.WriteLine( "{0} is {1}; use the sign \"{2}\".", -3,
myD1( -3 ), myD2( -3 ) );
Console.WriteLine( "{0} is {1}; use the sign \"{2}\".", 0, myD1( 0 ),
myD2( 0 ) );
}
}
/*
This code produces the following output:
5 is positive; use the sign "+".
-3 is negative; use the sign "-".
0 is zero; use the sign "".
*/
"memememe" <[rem]casolorz[rem]@hot[rem]mail.com> wrote in message
news:6c***************@news2.central.cox.net...
Is there a way to pass a method as a paramenter when you call a method,
kinda like you do when you create an event handler.
Basically I want to be able to call method A() and tell it to call method
B() but sometimes I want it to call method C(). I know how to design this
if I use interfaces or abstract classes, B() and C() will share signature,
and will most likely be members of similar classes, so using interfaces or
abstract classes is a choice, I just want to know if there is a way to
pass a method as a parameter as an alternative choice.