別の CA2000 警告が表示されます。
次のコードは、CA2000 警告を生成します。
// Use an emulated GPS device
nmeaInterpreter.Start(new VirtualDevice(new NmeaEmulator()));
次の警告が発生します。
CA2000 : Microsoft.Reliability : In method 'GpsService.Start()', call System.IDisposable.Dispose on object 'new NmeaEmulator()' before all references to it are out of scope.
CA2000 に関する Microsoft のドキュメントを既に確認しましたが、ネストされたコンストラクターを処理する方法の良い例を見つけることができませんでした。明らかに、エミュレータへの参照を自分で保存したくありません。参照がコンストラクターにのみ渡されるようにします。
C# は、破棄する必要があるボンネットの下に一時オブジェクトを作成していますか?