Tag: 方法 调用

编写扩展方法来调用控件的更好方法是什么?

我有这个通用函数来调用WinForm控件: public static void Invoke(this Control c, Action action) { if (c.InvokeRequired) c.TopLevelControl.Invoke(action); else action(); } 我正在考虑通过采用更严厉的限制来防止无意义的事情,使其变得更好,可能是这样的: button1.Invoke(() => list.Add(1)); 还可以进行冗余打字,例如: button1.Invoke(() => button1.Hide()); 因为我们已经指定this是button1 。 所以我做到了: public static void Invoke(this T c, Action action) where T : Control { if (c.InvokeRequired) c.TopLevelControl.Invoke(action); else action(c); } 现在我要打电话, button1.Invoke((c) => c.Hide()); 要么 button1.Invoke((c) => button1.Hide()); 现在我觉得即便如此,还有一些不仅仅是需要打字。 […]