关于C#委托的问题
先看一段代码:
class Program
{
delegate void RunOnce();
private static void MultipleRun(RunOnce method, int count)
{
for (int i = 0; i < count; i++)
{
method();
}
}
static void Main(string[] args)
{
TestClass tc = new TestClass();
MultipleRun(tc.PrintDate, 100);
MultipleRun(tc.PrintTime, 100);
}
}
class TestClass
{
public void PrintTime()
{
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
}
public void PrintDate()
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd"));
}
}请注意红颜色的代码,我想问的是MultipleRun()的参数和Main方法中传入的参数是同一个类型吗?如果不是,那为什么可以顺利执行?在这段代码中,没有看到有委托实例化的对象,怎么MultipleRun()中的method()就调用到了PrintTime()和PrintDate()了呢?