Mah*_*ari 5 .net c# methods delegates winforms
我有一个名为LoadData的方法,它从DataBase获取数据并填充a DataGridView.
我正在使用秒表来测量我的方法完成它的工作所需的时间,如下所示:
private void btnLoadData_Click(object sender, EventArgs e)
{
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
LoadData ();
sw.Stop();
ShowTakenTime(sw.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)
我想要一些可以做的事情如下:
private void MeasureTime(Method m)
{
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
m.Invoke();
sw.Stop();
ShowTakenTime(sw.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)
所以我可以将LoadData方法传递给它,它为我完成剩下的工作.
MeasureTime(LoadData());
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
对于没有参数且返回 void 的方法,您可以使用Action:
private void MeasureTime(Action m)
{
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
m();
sw.Stop();
ShowTakenTime(sw.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)
如果您有一些参数或返回类型,请使用Func
| 归档时间: |
|
| 查看次数: |
1151 次 |
| 最近记录: |