1つのフォルダーに60ほどのクラスがあり、それらのクラスを継承するための基本クラスを作成しました。
Visual Studioのコピーアンドペースト方法以外にこれを自動的に行う方法はありますか?
resharperにそのための機能があるといいのですが、見つかりません。
1つのフォルダーに60ほどのクラスがあり、それらのクラスを継承するための基本クラスを作成しました。
Visual Studioのコピーアンドペースト方法以外にこれを自動的に行う方法はありますか?
resharperにそのための機能があるといいのですが、見つかりません。
Visual Studio の検索と置換機能を使用してすべての宣言を検索し、それらを基本クラスから継承する宣言に置き換えることで、切り取りと貼り付けのプロセスを自動化できます。
public class {:i}
「検索対象」ボックスに入力しますpublic class \1 : MyBaseClass
「置換:」ボックスに入力します。クリック[Find Next]
を続けて、次に出現するクラス宣言を見つけます。変更する 60 の宣言のいずれかが検索で強調表示された場合は、 をクリックします。[Replace]
それ以外の場合は、 をクリックし続けます[Find Next]
。
この正規表現はうまくいくはずです:
(.*)?(class .*)?(.*)?{
これは、任意の数の文字に一致し、その後に「class」という単語が続き、その後に任意の数の文字が続き、その後に中括弧が続きます。
これを置換テキストとして使用して、すべてのコード ファイル内で置換を実行します。
$1 : yourBaseClassName {
これは、js 正規表現を処理するこのオンライン正規表現バリデーターでテストされており、ファイルがまだサブクラス/インターフェースを実装していないことを前提としています。生ですが、出発点にすることができます。
ツールを作成して、ビルド前のイベントとして使用できます。
そのツールは: MyBaseClass
、次のようなものの右側に書き込む、単純なサイレントコマンドライン実行可能ファイルである可能性がありますclass MyClassName
。
そして、引数としてパスを取り、そこにあるすべての*.csファイルに対してそれを実行します。
これは、私が知る限り、あなたが達成したいことに最も近いものです。
PostSharp (無料ではありません)などのツールを使用してAOP(属性指向プログラミング)を活用することもできますが、すべてのクラスに属性をタグ付けする必要があり、目的が果たせなくなります。