1

java.util.Timerアプリケーションを Java から C# に移植していますが、との間の動作と機能の違いに関連する問題に直面していますSystem.Threading.Timer。実際、Timer クラスの Java バージョンには、(元のコードで使用されている) タスクをスケジュールするための機能があります。これは、.NET バージョンには存在しません。時間。

機能を実装するための小さなクラスセットであっても、解決策はありますか?

いくつかのスケジューリング ライブラリ (Quartz など) が存在することに気付きましたが、使用するコードの量を最小限に抑えるソリューションを希望します。

皆さん、ありがとうございました!:)

4

2 に答える 2

1

.NET には少なくとも 4 つのタイマーがあります。あなたの短い答え: System.Threading.Timer を使用します。ここでタイマーについて読んだり、特定の時間にイベントをディスパッチできる System.Windows.Threading.DispatchTimer (WPF の一部) を調べたりすることをお勧めしますが、これは UI スレッドで行われます。

于 2009-08-17T13:58:14.520 に答える
1

任意のタイマー クラスを使用できます。スケジュールされたタスクごとに、新しいタイマー クラスを作成し、Intervalプロパティを(ScheduledTime - DateTime.Now).TotalMillisecondsに設定し、AutoResetプロパティを false に設定します (または、 Tickイベントのコード ビハインドでEnabeldプロパティを false に設定します)。 . これにより、指定された ScheduledTime でコードが 1 回実行されます。

于 2009-08-19T11:13:59.723 に答える