VB.NET には「影」というキーワードがあります。「Jedi」という基本クラスと、「Jedi」を継承する「Yoda」という派生クラスがあるとします。「Jedi」で「ForcePush」というメソッドを宣言し、それを「Yoda」でシャドウイングすると、「Yoda」クラスのインスタンスでメソッドを呼び出すときに、基本クラスの実装が無視され、派生クラスの実装が使用されます. ただし、最初に「Jedi」タイプとして宣言された「Yoda」のインスタンスがある場合、つまりDim j as Jedi = new Yoda()
インスタンスで「ForcePush」メソッドを呼び出した場合、Jedi 実装が使用されます。
ここで、「ForcePush」メソッドが呼び出されたときに発生する「UsingForce」と呼ばれるイベントがあり、派生クラスでイベントをシャドウアウトするとします (これは、「Yoda」が宣言するインターフェイス「IForcePowers」を持っているためです)。このイベント)、各クラスはそれぞれのイベントを発生させます。
'Jedi' 型として宣言された 'Yoda' のインスタンスがあり (上記のように)、'Jedi' の 'UsingForce' イベントにイベント ハンドラーを配置すると、'ForcePush' メソッドが ' Yoda' クラス、このイベント ハンドラーに到達しますか?