我有一個基類Base
和從此基類繼承的類Child
。基類是IDisposable
。Visual Studio/Resharper:導航到重寫方法
我打電話給Child
類的Dispose
方法。有沒有辦法導航到Child
的重寫實現?
Dim oChild as Child
oChild.Dispose()
當我同時具有選擇的Dispose()
方法按F12,我在Base.Dispose()
代替Child.Dispose()
結束。請注意該聲明爲Child
類型。
P.S .:我確實有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
這將有助於添加您的'Base'和'Child'類的代碼。我在VS2012中敲了一個簡單的C#示例(使用Resharper 8),並且F12鍵將我帶到了正確的位置。你有沒有在基類中虛擬Dispose'方法? –
我已經添加了一個(VB)代碼示例。我最終使用了CBase的無參數Dispose方法。之前沒有注意到,所以「問題」是不同的。謝謝。 – urbanhusky