現在のコンテキストでは、開始と停止の2つのメソッドがあります。これらの2つのメソッドは、関数から順番に呼び出されます。ある人が自分のメソッド内でStart()を呼び出すが、Stop()を呼び出すことは忘れてしまう可能性があります。例えばこの文脈においてC#のメソッド実装に関するコンパイル時にカスタム警告を表示する
private void A()
{
Start();
//Buisness logic goes here
}
コードは、警告またはエラーをコンパイル時にすべての開始の())に対応するストップ(が存在すべきである旨が表示される必要があります。誰かがC#で同じものを実装する方法についてのアイディアを提案できますか?
実装の適切な方法が
private void A()
{
Start();
//Buisness logic goes here
Stop();
}
あなただけの代わりに、テンプレートメソッドパターンを実装する必要がありますように聞こえます。あるいは 'Start()'を 'Execute(Action)'に変更します。 –
このクラスは 'IDisposable'を実装し、' Dispose'では 'Stop'を呼び出します(あるいは' Start'はクラス自体ではなく 'IDisposable'を返します)。スコープ内に配置されていない「IDisposable」のチェックが異なります。 – Evk
スタートとストップを連続して呼び出す方法はありませんが、異なる方法から呼び出すことはできませんか? – Evk