gpt4 book ai didi

c# - 无法将 InputEventArgs 转换为 MouseEventArgs

转载 作者:行者123 更新时间:2023-11-30 12:31:18 25 4
gpt4 key购买 nike

我正在尝试制作这种扩展方法。强制转换时出现错误,提示“无法将类型 T 转换为 MouseEventArgs”。难道我不能向上转换对象(因为 MouseEventArgs : InputEventArgs)?

如果您好奇的话,我使用它在处理程序方法中使用基础 InputEventArgs 来共享鼠标和触摸事件之间的事件处理程序。

    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();
}
}

最佳答案

我尝试这样做并且对我有用。

    public static class InputEventArgsExtensions
{
public static Point GetPosition<T>(this T e, IInputElement obj)
where T : InputEventArgs
{
if (e is MouseEventArgs)
return (e as MouseEventArgs).GetPosition(obj);
else if (e is TouchEventArgs)
return (e as TouchEventArgs).GetTouchPoint(obj).Position;

return new Point();
}
}

关于c# - 无法将 InputEventArgs 转换为 MouseEventArgs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com