我不可能是唯一一个因为某些需要委托的调用而不得不频繁定义和命名委托而感到疲倦的人。例如,我想从可能来自其他线程的地方调用一个窗体的.Refresh()方法,所以我写了这段代码:
private void RefreshForm()
{
if (InvokeRequired)
Invoke(new InvokeDelegate(Refresh));
else
Refresh();
}
我甚至不确定是否必须这样做,只是读了足够多的内容,担心它在后面某个阶段无法正常工作。
InvokeDelegate实际上是在另一个文件中声明的,但我真的需要专门为此分配整个委托吗?难道没有通用的委托吗?
我的意思是,例如有一个Pen类,但也有Pens.pen-of-choice,这样你就不必重新制作整个事物。虽然不完全相同,但我希望你明白我的意思。