丢弃方法的所有参数(删除未使用的参数'sender'和'args')
Discard all parameters of method (Remove unused parameter 'sender' and 'args')
情况
将 Click
事件分配给按钮时,我得到一个预制的事件处理程序,它指定了 object sender
和 RoutedEventArgs args
。
现在,为了实现此事件处理程序,我不使用 sender
和 args
,因此我收到一条消息,说我应该删除这些参数。
我知道 C# 中的丢弃 (_
) 运算符,但是使用它只允许我丢弃一个参数(如果我再次使用 _
来表示 args
我收到一条错误消息,说我已经有一个名为 _
).
的参数
我在互联网上搜索过,但只有丢弃 out
变量的示例,在 lambda 表达式中使用丢弃等,但没有关于此的内容。
例如我想转换成这样:
private void Button_Click(object sender, RoutedEventArgs args)
{
DoSomethingThatDoesNotUseSenderAndArgs();
}
对此:
private void Button_CLick(object _, RoutedEventArgs _)
{
DoSomethingThatDoesNotUseSenderAndArgs();
}
我的问题
我应该忽略这条消息吗?或者压制它,因为似乎没有办法在不使用实现中的参数的情况下解决它?或者实际上是否有一种方法可以丢弃这两个参数,从而删除这个烦人的消息?
我偶然找到了问题的答案:
鉴于
private void Button_CLick(object _, RoutedEventArgs _) { }
第二个下划线会报错,
private void Button_CLick(object _, RoutedEventArgs __) { }
不会。
情况
将 Click
事件分配给按钮时,我得到一个预制的事件处理程序,它指定了 object sender
和 RoutedEventArgs args
。
现在,为了实现此事件处理程序,我不使用 sender
和 args
,因此我收到一条消息,说我应该删除这些参数。
我知道 C# 中的丢弃 (_
) 运算符,但是使用它只允许我丢弃一个参数(如果我再次使用 _
来表示 args
我收到一条错误消息,说我已经有一个名为 _
).
我在互联网上搜索过,但只有丢弃 out
变量的示例,在 lambda 表达式中使用丢弃等,但没有关于此的内容。
例如我想转换成这样:
private void Button_Click(object sender, RoutedEventArgs args)
{
DoSomethingThatDoesNotUseSenderAndArgs();
}
对此:
private void Button_CLick(object _, RoutedEventArgs _)
{
DoSomethingThatDoesNotUseSenderAndArgs();
}
我的问题
我应该忽略这条消息吗?或者压制它,因为似乎没有办法在不使用实现中的参数的情况下解决它?或者实际上是否有一种方法可以丢弃这两个参数,从而删除这个烦人的消息?
我偶然找到了问题的答案:
鉴于
private void Button_CLick(object _, RoutedEventArgs _) { }
第二个下划线会报错,
private void Button_CLick(object _, RoutedEventArgs __) { }
不会。