0

一部のクラスのインターフェイス実装の順序を変更することで、自分自身に穴を掘りました。現状では、Get と Set を実装するには、多くのプロパティを調べて展開する必要があります。Get メソッドと Set メソッドは非常に似ていますが、自動化が難しいほど複雑です。例:

Public Property SpecificTable as SpecificTableType

これに似たプロパティがあり、次のように展開する必要があります。

Public Property SpecificTable as SpecificTableType
Get
  Return DirectCast(Me.Table, SpecificTableType)
End Get
Set(ByVal value as SpecificTableType)
  Me.Table = value
End Set

とてもシンプルで、プロパティの下で Get と入力して Enter キーを押すだけで、VS Studio が大量のファイルを自動生成します。Set(ByVal value as SpecificTableType)

スニペットはさておき、私は既にプロパティを定義しているので、VS はどのようにこの自動生成を実現し、それをカスタマイズできるのでしょうか? それは私の指の痛みを和らげるでしょう。

4

2 に答える 2

1

Visual Studio では、既定では、'End construct' 行 (End If、End Get など) の自動挿入を無効にする以外に、コード生成のその側面をカスタマイズすることはできません。

次のようなテンプレート駆動型のコード生成を可能にする拡張機能がいくつかあります。

それがあなたの法案に合っているかどうかを確認してください。

于 2012-11-13T19:51:58.410 に答える
1

これは難しい方法ですが、時間をかけて Roslyn を学習し、コードの問題を書きたい場合は、間違いなく答えです。

パーサー、コンパイラ (セマンティック) 機能へのアクセスを可能にするサービス プロジェクトとしてのコンパイラである Microsoft Roslyn を使用します。Roslyn でできることは、ファイルに基づいて抽象構文ツリーを作成し (すべてのタイプのファイルをループ)、AST ごとに明示的に定義されたゲッターとセッターを含まないプロパティを検索し、その AST を次のものに置き換えることです。あなたが好きなように小道具を持っています。

これは、単純な代替アプリケーションでは実行できない場合に、これをやり直す必要がある場合に行うことです。

これらをチェックしてください: http://msdn.microsoft.com/en-us/vstudio/hh500769.aspx http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx

于 2012-11-13T20:48:24.013 に答える