在这里和那里的几个类中使用了可选参数,我开始非常不喜欢它们在某些情况下因重载解决而导致的麻烦,即由于签名冲突而将代理绑定到它们的困难,以及关于方法参数计数的动态调用问题。
如何在Visual Studio IDE(2010)项目中搜索所有文件并找到所有可选参数用法?我可以使用一个聪明的正则表达吗?或者可能使用不支持可选参数的旧版Visual Studio?我试图避免手动扫描项目中的文件的麻烦,因为它可能是令人厌倦和容易出错的。谢谢!
答案 0 :(得分: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 :(得分:1)
虽然这可能不是我倾向于在视觉工作室中查看课堂视图的最佳方式。方括号中显示的类型是可选参数