我觉得就像函数指针,不过是书上说是面向对象的,看个简单的例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStudy
{
delegate int Function(int x);
class Program
{
static void DoFun(int val, Function f)
{
Console.WriteLine(f(val));
}
static int Square(int x)
{
return x * x;
}
static void Main(string[] args)
{
DoFun(10, new Function(Square));
}
}
}
输出100
很简单吧。话说空闲时间学习C#是为了写unity3D。