2

Visual Studioがコードを生成する場合(たとえば、イベントハンドラスタブを生成する場合)、メンバーのアクセス修飾子が省略されることがよくあります。これをやめたいのですが。このための設定はありますか?

4

4 に答える 4

2

このコードを生成しているスニペットが Visual Studio のどこかにある可能性があります。変更する特定のアクションのスニペットを見つける必要があります。たとえば、クラスを宣言したときに自動的にクラスを公開したかったので、class.snippet ファイルを編集しました。

私が変更され

<Code Language="csharp"><![CDATA[class $name$
{
    $selected$$end$
}]]>
        </Code>

のように見えるように

<Code Language="csharp"><![CDATA[public class $name$
{
    $selected$$end$
}]]>
        </Code>
于 2009-11-06T13:52:36.000 に答える
2

VS によって生成されるコードは、おそらくCodeDomを使用して生成されます。コードの生成方法に影響を与えることはできないと思います...

それを行う方法がないことを恐れています。または、巧妙な正規表現を使用してその投稿生成を行うことができますか?

補足: 私は修飾子が指定されていないことを嫌いますが、慣れます。悲しいですが本当です...とにかく、修飾子がない場合、可能な限りプライベートになりますが、1 つの例外はプロパティです。

于 2009-11-06T14:10:24.960 に答える
1

「プライベート」を意味する修飾子がないことに慣れてください。あなたが他の人々のコードを見るとき、あなたはとにかくしなければならないでしょう。

于 2009-11-06T13:09:51.303 に答える
1

Visual Studio は、コード生成ツールとして調整されていません。コード生成を行いたい場合 (正しく行えば多くの利点が得られます)、Visual Studio と統合または連携できる他のツールを検討する必要があります。

私は、ABSE (Atom-Based Software Engineering) と呼ばれるジェネレーティブなモデル駆動型の方法論と、AtomWeaver と呼ばれる IDE を介したその参照実装を開発しています。進行中の作業ですが、注目しておいてください: http://www.abse.info

Visual Studio には T4 テンプレートが付属しています。私はそれを使用したことはありませんが、他の人から聞いたところによると、手間をかける価値はありません. 今のところ、安全な賭けは CodeSmith だと思います。

于 2009-11-06T15:50:10.780 に答える