1

関数を「シャドウ」できる方法があるかどうか知りたいのですが、次のクラスは現在のプロジェクトのアセンブリ参照にあり、アセンブリのコンテンツを変更することはできません。

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 言語は問題ありません。これが明確だったことを願っています、ありがとう!

4

1 に答える 1