当将Click事件分配给按钮时,我得到一个预制事件处理程序,它指定了object senderand RoutedEventArgs args。
现在,对于此事件处理程序的实现,我不使用senderand args,因此我收到一条消息,指出我应该删除参数。
我知道_C# 中存在丢弃 ( ) 运算符,但是使用它只能丢弃其中一个参数(如果我_再次使用 for args,则会收到一条错误消息,指出我已经有一个名为 的参数_)。
我在互联网上搜索过,但只有丢弃out变量、在 lambda 表达式中使用丢弃等示例,但对此一无所知。
例如我想转换这样的东西:
private void Button_Click(object sender, RoutedEventArgs args)
{
DoSomethingThatDoesNotUseSenderAndArgs();
}
Run Code Online (Sandbox Code Playgroud)
对此:
private void Button_CLick(object _, RoutedEventArgs _)
{
DoSomethingThatDoesNotUseSenderAndArgs();
}
Run Code Online (Sandbox Code Playgroud)
我应该忽略这条消息吗?或者抑制它,因为似乎没有办法在不使用实现中的参数的情况下解决它?或者实际上是否有一种方法可以丢弃这两个参数,从而删除这个烦人的消息?
我偶然发现了我的问题的答案:
然而
private void Button_CLick(object _, RoutedEventArgs _) { }
Run Code Online (Sandbox Code Playgroud)
将在第二个下划线处给出错误,
private void Button_CLick(object _, RoutedEventArgs __) { }
Run Code Online (Sandbox Code Playgroud)
将不会。