DirectiveProcessor.IsDirectiveSupported 方法

当重写在派生类中,确定指令处理器是否支持指定的指令。

命名空间:  Microsoft.VisualStudio.TextTemplating
程序集:  Microsoft.VisualStudio.TextTemplating.11.0(在 Microsoft.VisualStudio.TextTemplating.11.0.dll 中)

语法

声明
Public MustOverride Function IsDirectiveSupported ( _
    directiveName As String _
) As Boolean
public abstract bool IsDirectiveSupported(
    string directiveName
)
public:
virtual bool IsDirectiveSupported(
    String^ directiveName
) abstract
abstract IsDirectiveSupported : 
        directiveName:string -> bool 
public abstract function IsDirectiveSupported(
    directiveName : String
) : boolean

参数

返回值

类型:System.Boolean
如果处理器支持指令,则为 true;否则为 false。

实现

IDirectiveProcessor.IsDirectiveSupported(String)

备注

一个指令处理器可以支持许多不同的指令。

当前调用 IsDirectiveSupported 不会影响指令处理器的状态机。 这意味着如果从此方法返回 false,则仍调用其他方法。 理想情况下,如果不支持某个指令,则应终止状态机。 将来可以更改该引擎,使它在此方法返回 false 时终止。

示例

下面的代码示例演示自定义指令处理器的可能实现。 此代码示例摘自为 DirectiveProcessor 类提供的一个更大的示例。

public override bool IsDirectiveSupported(string directiveName)
{
    if (string.Compare(directiveName, "CoolDirective", StringComparison.OrdinalIgnoreCase) == 0)
    {
        return true;
    }
    if (string.Compare(directiveName, "SuperCoolDirective", StringComparison.OrdinalIgnoreCase) == 0)
    {
        return true;
    }
    return false;
}
Public Overrides Function IsDirectiveSupported(ByVal directiveName As String) As Boolean

    If String.Compare(directiveName, "CoolDirective", StringComparison.OrdinalIgnoreCase) = 0 Then
        Return True
    End If

    If String.Compare(directiveName, "SuperCoolDirective", StringComparison.OrdinalIgnoreCase) = 0 Then
        Return True
    End If

    Return False
End Function

.NET Framework 安全性

请参见

参考

DirectiveProcessor 类

Microsoft.VisualStudio.TextTemplating 命名空间

ProcessDirective

其他资源

创建自定义 T4 文本模板指令处理器

演练:创建自定义指令处理器