The format of the delegate type declaration is as follows:
Public Delegate void testdelegate (string message );
The delegate keyword is used to declare a reference type, which can be used to encapsulate naming or anonymous methods. The delegate is similar to the function pointer in C ++. However, the delegate type is safe and reliable. For Delegation applications, see delegation and generic delegation.
Remarks
Delegation is the basis of events.
You can instantiate a delegate by associating the delegate with the naming or anonymous method. For more information, see naming and anonymous methods.
To be used together with the naming method, the delegate must be instantiated using a method with an acceptable signature. For more information about the variance allowed in the method signature, see the co-Variation and inverter in the delegate. For use with anonymous methods, the delegate and associated code must be declared together. This section describes the two methods for instantiating delegation.
Using system;
// Declare delegate -- defines required signature:
Delegate void sampledelegate (string message );
Class mainclass
{
// Regular method that matches signature:
Static void sampledelegatemethod (string message)
{
Console. writeline (Message );
}
Static void main ()
{
// Instantiate delegate with named method:
Sampledelegate d1 = sampledelegatemethod;
// Instantiate delegate with anonymous method:
Sampledelegate D2 = delegate (string message)
{
Console. writeline (Message );
};
// Invoke delegate D1:
D1 ("hello ");
// Invoke delegate D2:
D2 ("world ");
}
}