System.Threading.Timerオブジェクトを使用し、その期間を設定します。
// period of 1 second
var timer = new Timer(CallBack, null, 0, 1000);
...
今、タイマーの期間を取得したいのですが、どうすればよいですか?
これを行う方法はサポートされていません。次の 2 つのオプションがあります。
1) クラスを使用するのが最善System.Timers.Timerです。より柔軟で、マルチスレッドで使用する場合に安全に使用できるからです。System.Windows.Forms.Timerタイマー、System.Timers.Timerおよびと の比較について詳しく知りたい場合は、この件に関する MSDN の記事System.Threading.Timerをお読みください。
2) リフレクションを使用して、期間値を保持するプライベート メンバーにアクセスします。これを行う方法に関する優れた記事がたくさんあり、ILSpyを使用して、どのフィールドを読む必要があるかを確認できます。(.NET 4.0 では timer.m_timer.m_timer.m_period です。他のバージョンでも同じかもしれません)
あなたはそうしない。つまりSystem.Threading.Timer、期間 (または私が知る限り他のメンバー) の取得をサポートしていません。期間を大まかに決定する唯一の方法は、自分で時間を計ることです。
を使用することはできませんが、またはSystem.Threading.Timerを使用すると使用できます。そこに確認できるプロパティがあります。このリンクをさらに参照して、この 2 つの実装の違いを確認できます。System.Timers.TimerSystem.Windows.Forms.TimerTimer.Interval
MSDNによると、あなたが求めるものを達成する方法はありません。