1

classes//structsとのenums両方Visual Studioでpublic をデフォルトの修飾子として持つという残念な事実により、Resharper私が現在取り組んでいるソリューションには、定義されているライブラリの外では使用されない膨大な量の public クラスがあります。これらのクラスはすべて内部です。そして、私は手動でそれをしたくありません。

このタスクを自動化する方法はありますか? 一般的に、Adjust visibilityリファクタリングのようなものが必要です (Resharper に似ていますAdjust namespaces)。

4

2 に答える 2

3

publicC#のデフォルトのアクセス修飾子ではありません。ドキュメント によると、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 に答える