1

由于在两者中都将public 作为默认修饰符classes/ structs/令人失望,因此我现在正在研究的解决方案有大量的公共类,这些公共类没有在它们定义的库之外使用。所以我想做所有这些内部类。而且我不想手动进行。enumsVisual StudioResharper

有什么方法可以自动执行此任务吗?一般来说,我想要Adjust visibility重构之类的东西(类似于 Resharper's Adjust namespaces)。

4

2 回答 2

3

public不是 C# 中的默认访问修饰符。根据文档 internal,如果您确实指定了任何访问修饰符,则它是默认访问修饰符。

如果您明确设置公共访问修饰符,那么我认为最好手动检查您的代码并选择最佳访问修饰符。

于 2013-02-14T18:43:24.457 回答
1

您可以使用正则表达式进行查找和替换。例如,在 Visual Studio 2012 中,以下内容将满足您的需求(在搜索框中启用正则表达式匹配之后):

public (.*(class|enum|struct))

用。。。来代替:

internal $1

之后,您可以使用类视图仅显示公共成员并执行手动留下的那些。


对于 Visual Studio 2010,语法是不同的。我认为它是这样的,但无法测试它:

public {:.*(class|enum|struct)}

用。。。来代替:

internal \1

您可以在此处找到更多信息

于 2013-02-14T18:50:19.910 回答