関数を「シャドウ」できる方法があるかどうか知りたいのですが、次のクラスは現在のプロジェクトのアセンブリ参照にあり、アセンブリのコンテンツを変更することはできません。
Public Class CoordinateSpace
Public Function FromPixelsY(ByVal y As Single) As Single
Return (Me.m_originY + ((y * Me.ZoomY) / (Me.m_dpiY / 100.0F)))
End Function
Public Function ToPixelsY(ByVal y As Single) As Single
Dim num2 As Single = ((y - Me.m_originY) / Me.ZoomY) * (Me.m_dpiY / 100.0F)
Me.CheckOverflow(num2)
Return num2
End Function
End Class
さらに、アセンブリ内には、次のような多くのクラスで多くの呼び出しがあります。
Public Class Printer
public function testPx() as boolean
dim c as new CoordinateSpace
return c.ToPixelsY(18) > 500
end function
End Class
私のプロジェクトではFromPixelsY
、呼び出しがToPixelsY
発生したときに何が入っているかを返すために上記のクラスが必要です。
これを行う方法はありますか?クラスを継承し、これらのメソッドをオーバーライドまたはシャドウすると、testPx が関数 ToPixelsY を呼び出すときに、新しいクラスのメソッドではなく、実際には CoordinateSpace メソッドが呼び出されます。
これは VB.net にありますが、ソリューションの .NET 言語は問題ありません。これが明確だったことを願っています、ありがとう!