特定の関数を後で実行できる拡張メソッドを作成するにはどうすればよいですか? 次のコードを思いつきましたが、入力しても IntelliSense リストに表示されませんMyFunc.DoLater()
。
静的クラスで拡張メソッドを宣言しました...
using TTimer = System.Timers.Timer; // to prevent confusion with Windows.Forms.Timer
public static void DoLater(this Action handler, int delay) {
TTimer timer = new TTimer(delay);
timer.Elapsed += delegate {
handler();
timer.Dispose();
};
timer.Start();
}
...そして、パラメーターのないクラスMyFunc
の単なるメソッドです。Form
public void MyFunc(){
}