http://www.yoda.arachsys.com/csharp/csharp2/delegates.html
namespace GenericDelegate
{
// This generic delegate can call any method
// returning void and taking a single parameter.
public delegate void MyGenericDelegate<T>(T arg);
class Program
{
static void Main(string[] args)
{
Console.WriteLine
("***** Generic Delegates *****\n");
// Register target with 'traditional'
//delegate syntax.
MyGenericDelegate<string> strTarget =
new MyGenericDelegate<string>(StringTarget);
strTarget("Some string data");
// Register target using method group conversion.
MyGenericDelegate<int> intTarget = IntTarget;
intTarget(9);
Console.ReadLine();
}
static void StringTarget(string arg)
{
Console.WriteLine("arg in uppercase is: {0}", arg.ToUpper());
}
static void IntTarget(int arg)
{
Console.WriteLine("++arg is: {0}", ++arg);
}
}
}
No comments:
Post a Comment