この拡張メソッドを作成しようとしています。キャストで「タイプ T を MouseEventArgs に変換できません」というエラーが発生します。オブジェクトをアップキャストできませんか (以降MouseEventArgs : InputEventArgs
)?
ご参考までに、ハンドラー メソッドでベース InputEventArgs を使用するだけで、Mouse イベントと Touch イベント間でイベント ハンドラーを共有するためにこれを使用しています。
public static class InputEventArgsExtensions
{
public static Point GetPosition<T>(this T e, IInputElement obj)
where T : InputEventArgs
{
if (e is MouseEventArgs)
return ((MouseEventArgs)e).GetPosition(obj);
else if (e is TouchEventArgs)
return ((TouchEventArgs)e).GetTouchPoint(obj).Position;
return new Point();
}
}