4

在这里和那里的几个类中使用了可选参数,我开始非常不喜欢它们,因为它们在某些情况下通过重载解析引起的麻烦,即由于签名冲突而难以将委托绑定到它们,以及动态调用问题关于方法参数计数。

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

4

2 回答 2

6

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

这不会代替您,但可以为您提供所有违规成员的列表。

就像是:

foreach (Type tp in currentAssembly.GetTypes())
    foreach (MethodInfo func in tp.GetMethods())
        if(func.GetParameters().Any(p=>p.IsOptional))
            Console.WriteLine(func.ToString());
于 2010-08-25T12:40:26.673 回答
1

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

于 2010-08-25T12:31:12.657 回答