ITextTemplatingEngineHost.ResolveDirectiveProcessor 方法
根據指定之指示詞處理器的易記名稱,傳回該指示詞處理器的型別。
命名空間: Microsoft.VisualStudio.TextTemplating
組件: Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (在 Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll 中)
語法
'宣告
Function ResolveDirectiveProcessor ( _
processorName As String _
) As Type
Type ResolveDirectiveProcessor(
string processorName
)
Type^ ResolveDirectiveProcessor(
String^ processorName
)
abstract ResolveDirectiveProcessor :
processorName:string -> Type
function ResolveDirectiveProcessor(
processorName : String
) : Type
參數
- processorName
型別:System.String
要解析之指示詞處理器的名稱。
傳回值
型別:System.Type
指示詞處理器的 Type。
備註
引擎會根據使用者在文字範本中指定的指示詞來呼叫這個方法。每個文字範本轉換可呼叫這個方法 0次、1次或多次。如需詳細資訊,請參閱 T4 文字範本指示詞。
如果無法解析指示詞處理器名稱,此方法應該會擲回例外狀況。
如果主應用程式在 ResolveDirectiveProcessor 方法中用來尋找指示詞處理器的機制是不安全的,則可以執行惡意指示詞處理器。惡意的指示詞處理器可以在範本執行時提供以完全信任模式執行的程式碼。如果您建立自訂主機,您必須使用如登錄的安全機制來找出指示詞處理器。如需詳細資訊,請參閱 文字範本的安全性。
範例
下列程式碼範例示範自訂主機可能的實作。這個程式碼範例是 ITextTemplatingEngineHost 介面完整範例的一部分。
如需示範如何解決所產生指示詞處理器之要求的更詳細範例,請參閱 逐步解說:將主機連接至產生的指示詞處理器。
public Type ResolveDirectiveProcessor(string processorName)
{
//this host will not resolve any specific processors
//check the processor name, and if it is the name of a processor the
//host wants to support, return the type of the processor
//---------------------------------------------------------------------
if (string.Compare(processorName, "XYZ", StringComparison.OrdinalIgnoreCase) == 0)
{
//return typeof();
}
//this can be customized to search specific paths for the file,
//or to search the GAC
//if the directive processor can not be found, throw an error
throw new Exception("Directive Processor not found");
}
Public Function ResolveDirectiveProcessor(ByVal processorName As String) As System.Type Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.ResolveDirectiveProcessor
'this host will not resolve any specific processors
'check the processor name, and if it is the name of a processor the
'host wants to support, return the type of the processor
'---------------------------------------------------------------------
If String.Compare(processorName, "XYZ", StringComparison.OrdinalIgnoreCase) = 0 Then
'return typeof()
End If
'this can be customized to search specific paths for the file,
'or to search the GAC
'if the directive processor can not be found, throw an error
Throw New Exception("Directive Processor not found")
End Function
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。
請參閱
參考
Microsoft.VisualStudio.TextTemplating 命名空間
ResolveFileName