タイトル : CA2213の対処方法 投稿日 : 2016/10/14(Fri) 10:12 投稿者 : オフディラン
開発環境: Microsoft Windows 7 Professional Visual Studio 2015 .Net Framework 4.5.2 2015のコード分析を実施した結果、警告「CA2213」がでます。 私なりに調べて、いろいろ試したのですが、解決できません。 どのようにすれば、いいのか教えて下さい。 よろしくお願いします。 ------------------------------------------------------------------------------- Imports System.Threading Public Class Form1 Private liTimer As Timer Private licenseDelegate As TimerCallback Public countZ As Integer Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing liTimer.Dispose() End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load countZ = 0 licenseDelegate = New TimerCallback(AddressOf CheckTest) liTimer = New Timer(licenseDelegate, Nothing, 1000, 1000) End Sub Private Sub CheckTest() countZ += 1 Console.WriteLine(countZ) End Sub End Class ------------------------------------------------------------------------------- 上記のように、タイマーで、カウントアップするだけのコードですが、 以下の警告がでます。 警告 CA2213 'Form1' は、IDisposable 型 'Timer' であるフィールド 'Form1.liTimer' を含んでいます。 このフィールドで Dispose または Close を呼び出すには、'Form1' の Dispose メソッドを変更してください。 'Form1' の Dispose メソッドを変更とは、どのように実装すればいいのか、 具体的なサンプルがみつからず、また、私の理解不足で分かりません。 よろしくお願いします。 |