Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在向方法传递特定值时,是否可以设置编译器警告?_C#_Visual Studio - Fatal编程技术网

C# 在向方法传递特定值时,是否可以设置编译器警告?

C# 在向方法传递特定值时,是否可以设置编译器警告?,c#,visual-studio,C#,Visual Studio,我试着在网上搜索,但什么也找不到 我有一个带有布尔默认参数的方法,我想找到它们专门发送值的位置,而不是带有编译器警告的默认值 public example(SomeObject value , IsChecked = false ) 如何找到他们发送邮件的地方,在没有提供所有参考资料的情况下被检查为真 无法将整个方法指定为已过时,需要找到方法将参数值指定为已过时(仅原语参数和静态值,不使用任何运行时计算变量)。您可以创建第二个不带IsChecked参数的方法,然后将旧方法标记为已过时,如下所示

我试着在网上搜索,但什么也找不到

我有一个带有布尔默认参数的方法,我想找到它们专门发送值的位置,而不是带有编译器警告的默认值

public example(SomeObject value , IsChecked = false )
如何找到他们发送邮件的地方,在没有提供所有参考资料的情况下被检查为真


无法将整个方法指定为已过时,需要找到方法将参数值指定为已过时(仅原语参数和静态值,不使用任何运行时计算变量)。

您可以创建第二个不带IsChecked参数的方法,然后将旧方法标记为已过时,如下所示:

[Obsolete("Using IsChecked is obsolete")]
public example(SomeObject value , IsChecked = false )
{
}

public example(SomeObject value )
{
}

然后,如果使用旧方法,将收到一条警告,说明该方法已过时。

是否尝试按Ctrl+F组合键?:|,我想知道手动以外的其他方法。如果要生成编译器警告或任何可以强制VS构建为ME标识的东西,您可以更改参数的数据类型,尝试重新编译。它将在参数传递的所有位置显示错误。如果您只需要执行一次,请按照@kashi_rock的建议执行。否则,仔细观察。这将显示所有使用它的地方的警告,对吗?我只需要一个他们认为是真的地方。问题是在生产代码中,他们在很多地方为默认参数发送false。因此无法使用上述解决方案。不幸的是,您没有一个易于使用的解决方案。你可以创建一个分析器,或者如果你使用的是ReSharper,你可以使用模式搜索来识别位置,但是你需要一个编译器错误分析器。我想你想要的是做不到的。如果他们使用变量而不是常量呢?无法知道在编译时发送的是什么。@LasseVågsætherKarlsen如何使用resharper模式搜索此类查找?我从来没有使用过这样的功能。您可以使用您想要的示例编写代码,并使用占位符作为参数,这样您就可以编写类似于
.example($expression$,true)
的内容,并指定
$expression$
是类型为
SomeObject
的表达式或其后代。您将在ReSharper菜单上找到搜索功能。