gpt4 book ai didi

c# - 将一个方法作为参数传递给另一个方法

转载 作者:太空狗 更新时间:2023-10-29 23:31:27 24 4
gpt4 key购买 nike

我有一个名为 LoadData 的方法,它从 DataBase 获取数据并填充 DataGridView

我正在使用秒表来测量我的方法完成其工作所需的时间,如下所示:

private void btnLoadData_Click(object sender, EventArgs e)
{
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
LoadData ();
sw.Stop();
ShowTakenTime(sw.ElapsedMilliseconds);
}

我想要一些可以做以下事情的东西:

private void MeasureTime(Method m)
{
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
m.Invoke();
sw.Stop();
ShowTakenTime(sw.ElapsedMilliseconds);
}

这样我就可以将 LoadData 方法传递给它,它会为我完成剩下的工作。

MeasureTime(LoadData());

我该怎么做?

最佳答案

对于没有参数返回void的方法,可以使用Action :

    private void MeasureTime(Action m)
{
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
m();
sw.Stop();
ShowTakenTime(sw.ElapsedMilliseconds);
}

如果您有一些参数或返回类型,请使用 Func

关于c# - 将一个方法作为参数传递给另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21482285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com