所以我有这个函数,它接受一个没有参数的函数:
public static bool RetryUntilSuccessOrTimeout(Func<bool> task, TimeSpan timeSpan)
{
bool success = false;
int elapsed = 0;
while ((!success) && (elapsed < timeSpan.TotalMilliseconds))
{
Thread.Sleep(1000);
elapsed += 1000;
success = task();
}
return success;
}
然后我有很多功能,如:
private static bool OnDeleted(object source, FileSystemEventArgs e){...}
private static bool OnChanged(object source, FileSystemEventArgs e){...}
private static bool OnCreated(object source, FileSystemEventArgs e){...}
我有一个与三者相同的功能。所以我提供了这些信息。有没有办法将这些函数作为不带任何参数的函数传递(因为我提供它们)所以我可以将它传递给&#34;任务&#34; RetryUntilSuccessOrTimeout()?
问题的封装图片:
答案 0 :(得分:2)
是。基本上你只是做
() => func(a, b)