4

在几处使用了可选参数之后,我开始很不喜欢它们,因为它们在某些情况下导致了重载解析的麻烦,也就是说难以将代表绑定到它们签名冲突,以及关于方法参数计数的动态调用问题。查找所有可选参数并将其删除

如何搜索Visual Studio IDE(2010)项目中的所有文件并查找所有可选参数用法?会有一个我可以使用的聪明的正则表达式吗?或者也许使用Visual Studio的旧版本,其中不支持可选参数?我试图避免在项目中手动扫描文件的麻烦,因为它可能很烦人并且容易出错。谢谢!

回答

6

最好的选择可能是反射 - 它应该很容易遍历所有类型的所有成员,并且它们至少有一个可选参数。

这不会替代你,但可以给你一个所有违规成员的名单。

喜欢的东西:

foreach (Type tp in currentAssembly.GetTypes()) 
    foreach (MethodInfo func in tp.GetMethods()) 
     if(func.GetParameters().Any(p=>p.IsOptional)) 
      Console.WriteLine(func.ToString()); 
1

虽然这不是我最好的方式,但我倾向于在Visual Studio中查看类视图。在方括号中显示的类型是可选参数

相关问题