在这里和那里的几个类中使用了可选参数,我开始非常不喜欢它们,因为它们在某些情况下通过重载解析引起的麻烦,即由于签名冲突而难以将委托绑定到它们,以及动态调用问题关于方法参数计数。
如何在我的 Visual Studio IDE (2010) 项目中的所有文件中搜索并找到所有可选参数用法?也许我可以使用一个聪明的正则表达式吗?或者可能使用不支持可选参数的旧版 Visual Studio?我试图避免在项目中手动扫描文件的麻烦,因为它可能令人厌烦且容易出错。谢谢!
在这里和那里的几个类中使用了可选参数,我开始非常不喜欢它们,因为它们在某些情况下通过重载解析引起的麻烦,即由于签名冲突而难以将委托绑定到它们,以及动态调用问题关于方法参数计数。
如何在我的 Visual Studio IDE (2010) 项目中的所有文件中搜索并找到所有可选参数用法?也许我可以使用一个聪明的正则表达式吗?或者可能使用不支持可选参数的旧版 Visual Studio?我试图避免在项目中手动扫描文件的麻烦,因为它可能令人厌烦且容易出错。谢谢!
你最好的选择可能是反射——它应该很容易遍历所有类型的所有成员,其中它们是方法并且它们至少有一个可选参数。
这不会代替您,但可以为您提供所有违规成员的列表。
就像是:
foreach (Type tp in currentAssembly.GetTypes())
foreach (MethodInfo func in tp.GetMethods())
if(func.GetParameters().Any(p=>p.IsOptional))
Console.WriteLine(func.ToString());
虽然这可能不是我倾向于在 Visual Studio 中查看类视图的最佳方式。方括号中显示的类型是可选参数