現在のコードが現在構成されている(または使用して、任意のオブジェクトが関連しています) 。だから私は(hereから取られた)私のコードに次のようなものを適用しようとしました:正しい使用
using (SomeClass someClass = new SomeClass())
{
someClass.DoSomething();
}
私はmyTimer
がSecondMethod()
で知られていないので、次はエラーになりますと仮定しますか?
public void FirstMethod() {
using (System.Timers.Timer myTimer = new System.Timers.Timer())
{
myTimer.start();
SecondMethod();
}
}
public void SecondMethod(){
//several things happen here and then
myTimer.stop();
}
なぜSecondMethodはmyTimerについて知る必要がありますか?廃棄するとタイマーが停止します。 – payo
IIRCでは、 'using'はガベージコレクションを行いません。オブジェクト内で' Dispose'を呼び出すだけです。タイマーが実際に使用するリソースがない限り、「使用する」には実質的な利点はありません。 –
@KenWayneVanderLindeが正しい場合、GC処理は行われません(そのクラスに固有のマーシャリングされたデータを除く)。 – payo