在这个例子中,我想要在一个方法中添加
使用这个扩展方法:
这意味着调用语法是:
但是理想情况下,我想做的是类似于这样的事情:
除非我这样做,否则它不起作用:
.loop({quantity},{sleepvalue})
。我用以下代码实现了它:this.loop(count, 500,
()=>{
var image = Screenshots.getScreenshotOfDesktop();
pictureBox.load(image);
images.Add(image);
updateTrackBar();
});
使用这个扩展方法:
public static void loop(this Object _object, int count, int delay, MethodInvoker methodInvoker)
{
for(int i=0; i < count; i++)
{
methodInvoker();
_object.sleep(delay);
}
}
这意味着调用语法是:
this.loop(15,500, () => {...code...});
但是理想情况下,我想做的是类似于这样的事情:
()=> { ...code...}.loop(10,500);
除非我这样做,否则它不起作用:
new MethodInvoker(()=>{...code...}).loop(10,500);
此版本的扩展方法将与此兼容:
public static void loop(this MethodInvoker methodInvoker, int count, int delay)
{
for(int i=0; i < count; i++)
{
methodInvoker();
Processes.Sleep(delay);
}
}