丢弃方法的所有参数(删除未使用的参数“sender”和“args”)

Lea*_*der 5 c# uwp c#-7.0

情况

当将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)

我的问题

我应该忽略这条消息吗?或者抑制它,因为似乎没有办法在不使用实现中的参数的情况下解决它?或者实际上是否有一种方法可以丢弃这两个参数,从而删除这个烦人的消息?

Lea*_*der 1

我偶然发现了我的问题的答案:

然而

private void Button_CLick(object _, RoutedEventArgs _) { }
Run Code Online (Sandbox Code Playgroud)

将在第二个下划线处给出错误,

private void Button_CLick(object _, RoutedEventArgs __) { }
Run Code Online (Sandbox Code Playgroud)

将不会。

  • 我只是想向其他人澄清,这不是*丢弃参数,而是将它们分别命名为“_”和“__”。 (5认同)