如何使用带有参数和 return 值的 MethodInvoder
How to use MethodInvoder with parameters and return value
我们需要计算每个函数的函数执行时间。原始代码如下:
private void Cal1()
{
Console.WriteLine("Start");
Console.WriteLine("This is method");
Console.WriteLine("Bye");
}
显然,没有人喜欢在函数的开头和结尾添加两行相同的代码。
然后我尝试使用委托让我们的生活更轻松...
private void Execute(MethodInvoker act)
{
string name = act.GetMethodInfo().ToString();
Console.WriteLine("Start "+ name);
act();
Console.WriteLine("Bye");
}
private void Cal1()
{
Console.WriteLine("This is method");
}
有人会这样称呼....
Execute(Cal1);
在这种情况下,如何处理具有 return 值和参数的函数?
您需要代理 class。我认为您必须查看这些页面。
我们需要计算每个函数的函数执行时间。原始代码如下:
private void Cal1()
{
Console.WriteLine("Start");
Console.WriteLine("This is method");
Console.WriteLine("Bye");
}
显然,没有人喜欢在函数的开头和结尾添加两行相同的代码。
然后我尝试使用委托让我们的生活更轻松...
private void Execute(MethodInvoker act)
{
string name = act.GetMethodInfo().ToString();
Console.WriteLine("Start "+ name);
act();
Console.WriteLine("Bye");
}
private void Cal1()
{
Console.WriteLine("This is method");
}
有人会这样称呼....
Execute(Cal1);
在这种情况下,如何处理具有 return 值和参数的函数?
您需要代理 class。我认为您必须查看这些页面。