タイトル | : CA2213の対処方法 |
記事No | : 11746 |
投稿日 | : 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 メソッドを変更とは、どのように実装すればいいのか、 具体的なサンプルがみつからず、また、私の理解不足で分かりません。
よろしくお願いします。
|