"Use pattern matching"留言
"Use pattern matching" Message
Visual Studio 给我消息:
Use pattern matching
使用代码 IDE0020
代码段:
private void BTclear_Clicked(object sender, RoutedEventArgs e)
{
Button BTclear = (Button)sender;
if (BTclear.DataContext is ObservableCollectionUser)
{
ObservableCollectionUser clearMe = (ObservableCollectionUser)BTclear.DataContext;
Users.Remove(clearMe);
}
}
if 语句带有绿色下划线。
这是什么意思,我该如何优化它?
您可以使用类型模式引入类型为 ObservableCollectionUser
的新变量,而无需强制转换:
private void BTclear_Clicked(object sender, RoutedEventArgs e)
{
Button button = (Button) sender;
if (button.DataContext is ObservableCollectionUser user)
{
Users.Remove(user);
}
}
(我将 BTclear
重命名为 button
以在命名约定方面更加地道,但重要的部分是在 [=15= 中引入 user
变量] 表达式。)
请注意,这并不是真正关于优化 - 它是关于代码更清晰和更简单。它可能 稍微快一些,但不太可能显着。
Visual Studio 给我消息:
Use pattern matching
使用代码 IDE0020
代码段:
private void BTclear_Clicked(object sender, RoutedEventArgs e)
{
Button BTclear = (Button)sender;
if (BTclear.DataContext is ObservableCollectionUser)
{
ObservableCollectionUser clearMe = (ObservableCollectionUser)BTclear.DataContext;
Users.Remove(clearMe);
}
}
if 语句带有绿色下划线。
这是什么意思,我该如何优化它?
您可以使用类型模式引入类型为 ObservableCollectionUser
的新变量,而无需强制转换:
private void BTclear_Clicked(object sender, RoutedEventArgs e)
{
Button button = (Button) sender;
if (button.DataContext is ObservableCollectionUser user)
{
Users.Remove(user);
}
}
(我将 BTclear
重命名为 button
以在命名约定方面更加地道,但重要的部分是在 [=15= 中引入 user
变量] 表达式。)
请注意,这并不是真正关于优化 - 它是关于代码更清晰和更简单。它可能 稍微快一些,但不太可能显着。