我有一個對象(稱爲北京時間)是在父類(CoreEngine),我正努力爲忽略與不同的對象定義中定義(但保留在CoreEngine中使用相同的名稱)在父類的子項之一中。我想我應該使用'陰影'的定義,但我似乎將對象設置爲null。覆蓋對象的定義,並用它在父
Ticker對象是我想用於父類中定義的方法的對象,但是我想在定義CoreEngine的子項以使用不同的對象定義時更改其類型。
Public Class CoreEngine
Public WithEvents Ticker As TickerClass
Public Sub New()
End Sub
Public Overridable Sub Activate()
Ticker = New TickerClass()
End Sub
''call methods that use Ticker
End Class
而在子類:
Public Class ChildEngineClass
Inherits CoreEngine
Public Shadows WithEvents Ticker As BacktestTickerClass ' <<-- this class inherit the TickerClass too
Public Sub New()
End Sub
Public Overrides Sub Activate()
Ticker = New BacktestTickerClass()
End Sub
End Class
重寫activate()方法似乎工作,但是當「北京時間」,然後在父對象的方法引用它有一個空引用。所以我的問題是我做錯了什麼?我怎麼能重寫定義在父引用不同的對象(這也是Ticker類的孩子),並仍然能夠在父對象CoreEngine中使用它的定義對象?
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –