CompositionTarget.Renderingイベントは、単純な古い EventArgs を持つ単純な古い EventHandler です。ただし、実際には、明らかに常にRenderingEventArgsのインスタンスを取得します。したがって、イベント ハンドラーは、EventArgs から有用な情報を取得するために、EventArgs をキャストすることから開始する必要があります。
type のイベントではないのはなぜでしょうか。なぜならEventHandler<RenderingEventArgs>
、より簡単に引数に到達できるからです (さらに重要なのは、引数がそこにあることを知ることさえできるからです)。Microsoft がこのイベントに間違った署名を与えることを選択したのはなぜですか?
後方互換性について疑問に思いました.RenderingEventArgsがまだ存在しないリリースはありましたか? ――しかし、そうではないようです。MSDN によると、RenderingEventArgs と CompositionTarget は、両方のプラットフォームの同じリリースで導入されました。WPF では、どちらも .NET 3.0 で追加されました。Silverlight では、どちらも Silverlight 3.0 で追加されました。
何かヒントがあれば、誰かが言った古いディスカッション スレッドに出くわしました。誰かがそれがどのようなパフォーマンスの勝利であるかを説明できるなら、私はそれを答えとして喜んで受け入れます.