基本クラスBase
と、Child
この基本クラスから継承するクラスがあります。基本クラスはIDisposable
.
クラスのDispose
メソッドを呼び出しています。Child
のオーバーライドされた実装に移動する方法はありChild
ますか?
Dim oChild as Child
oChild.Dispose()
Dispose()
メソッドを選択した状態で F12 を押すと、Base.Dispose()
代わりに が表示されChild.Dispose()
ます。宣言はChild
型であることに注意してください。
PS: 私は ReSharper を持っているので、ReSharper を使った簡単な解決策があれば、それもうまくいくでしょう。
編集 (コード例):
Public Class CBase
Implements IDisposable
Private disposedValue As Boolean ' To detect redundant calls
' IDisposable
Protected Overridable Sub Dispose(disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' Disposing etc.
End If
End If
Me.disposedValue = True
End Sub
Public Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
End Class
Public Class CChild
Inherits CBase
Protected Overrides Sub Dispose(disposing As Boolean)
Try
If disposing Then
' Dispose child specific
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
End Class
Public Class CExample
Public Sub ProvideExample()
Dim oChild As New CChild
oChild.Dispose() ' F12 on this leads me to CBase.Dispose
End Sub
End Class