RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode メソッド
派生クラスでオーバーライドされると、生成された変換クラスの初期化コードにコードを追加します。このコードは、基本クラスの初期化前に追加されます。
名前空間: Microsoft.VisualStudio.TextTemplating
アセンブリ: Microsoft.VisualStudio.TextTemplating.11.0 (Microsoft.VisualStudio.TextTemplating.11.0.dll 内)
構文
'宣言
Protected MustOverride Sub GeneratePreInitializationCode ( _
directiveName As String, _
codeBuffer As StringBuilder, _
languageProvider As CodeDomProvider, _
requiresArguments As IDictionary(Of String, String), _
providesArguments As IDictionary(Of String, String) _
)
protected abstract void GeneratePreInitializationCode(
string directiveName,
StringBuilder codeBuffer,
CodeDomProvider languageProvider,
IDictionary<string, string> requiresArguments,
IDictionary<string, string> providesArguments
)
protected:
virtual void GeneratePreInitializationCode(
String^ directiveName,
StringBuilder^ codeBuffer,
CodeDomProvider^ languageProvider,
IDictionary<String^, String^>^ requiresArguments,
IDictionary<String^, String^>^ providesArguments
) abstract
abstract GeneratePreInitializationCode :
directiveName:string *
codeBuffer:StringBuilder *
languageProvider:CodeDomProvider *
requiresArguments:IDictionary<string, string> *
providesArguments:IDictionary<string, string> -> unit
protected abstract function GeneratePreInitializationCode(
directiveName : String,
codeBuffer : StringBuilder,
languageProvider : CodeDomProvider,
requiresArguments : IDictionary<String, String>,
providesArguments : IDictionary<String, String>
)
パラメーター
- directiveName
型 : System.String
ディレクティブの名前。
- codeBuffer
型 : System.Text.StringBuilder
処理実行中に基本クラスの初期化前にすべてのディレクティブ プロセッサが実行する必要があるコードを連結するバッファー。このディレクティブ プロセッサが基本クラスの初期化前にこのディレクティブに対して実行する必要のあるコードは、このバッファーに連結される必要があります。
- languageProvider
型 : System.CodeDom.Compiler.CodeDomProvider
codebuffer に追加するコードを作成するコード ジェネレーター。
- requiresArguments
型 : System.Collections.Generic.IDictionary<String, String>
ディレクティブ プロセッサで必要な標準パラメーター。
- providesArguments
型 : System.Collections.Generic.IDictionary<String, String>
ディレクティブ プロセッサで提供される標準パラメーター。
解説
GenerateTransformCode は、生成された変換クラスにメソッドを追加できるため、多くの場合、初期化コードはこれらのメソッドを呼び出す必要があります。
このメソッドは、このプロセッサが処理するディレクティブごとに 1 回呼び出されます。したがって、codeBuffer に各ディレクティブのコードを追加できます。GetPreInitializationCodeForProcessingRun は、すべてのディレクティブが処理された後に codeBuffer の内容を返します。
このメソッドは ProcessDirective によって呼び出されます。
例
この例では、基本クラスの初期化前に実行されるコードを生成します。このコード例は、RequiresProvidesDirectiveProcessor クラスのトピックで取り上げているコード例の一部です。
protected override void GeneratePreInitializationCode(string directiveName, StringBuilder codeBuffer, System.CodeDom.Compiler.CodeDomProvider languageProvider, IDictionary<string, string> requiresArguments, IDictionary<string, string> providesArguments)
{
if (StringComparer.InvariantCultureIgnoreCase.Compare(directiveName, DomDirectiveTag) == 0)
{
// Add your code for the pre-initialize stage for this processor.
}
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
参照
関連項目
RequiresProvidesDirectiveProcessor クラス
Microsoft.VisualStudio.TextTemplating 名前空間