SmartTagBase.Recognize 方法 (2007 system)
更新:2007 年 11 月
在文本中搜索识别的术语。
命名空间: Microsoft.Office.Tools
程序集: Microsoft.Office.Tools.Common.v9.0(在 Microsoft.Office.Tools.Common.v9.0.dll 中)
语法
声明
Protected Overridable Sub Recognize ( _
text As String, _
site As ISmartTagRecognizerSite, _
tokenList As ISmartTagTokenList _
)
用法
Dim text As String
Dim site As ISmartTagRecognizerSite
Dim tokenList As ISmartTagTokenList
Me.Recognize(text, site, tokenList)
protected virtual void Recognize(
string text,
ISmartTagRecognizerSite site,
ISmartTagTokenList tokenList
)
参数
text
类型:System.String要搜索的文本,搜索的目标是识别的术语。
site
类型:ISmartTagRecognizerSite文本在工作簿或文档中的位置。
tokenList
类型:ISmartTagTokenList分解为标记列表的搜索文本,搜索的目标是识别的术语。
备注
在空闲期间由 Visual Studio Tools for Office 运行时调用,以便在文本中搜索识别的术语。如果您除了运行标准识别器以外还要结合自己的搜索算法,请实现此方法。
示例
下面的代码示例演示如何重写从 Microsoft.Office.Tools.Excel.SmartTag 派生的类中的 Recognize 方法。Recognize 的此实现会将每个智能标记术语与 Microsoft Office Excel 工作表单元格中的内容进行比较。如果在单元格中找到了智能标记术语,则代码会向该智能标记中添加一个自定义的智能标记属性,然后调用 SmartTag.PersistTag(ISmartTagProperties) 方法以识别该智能标记。此示例假设您已从“添加引用”对话框的“COM”选项卡中向“Microsoft Smart Tags 2.0 类型库”添加了一个引用。此代码示例摘自一个为 Microsoft.Office.Tools.Excel.SmartTag 类提供的更大的示例。
此示例针对的是文档级自定义项。
Protected Overrides Sub Recognize(ByVal text As String, _
ByVal site As ISmartTagRecognizerSite, _
ByVal tokenList As ISmartTagTokenList)
' Determine whether each smart tag term exists in
' the document text.
Dim Term As String
For Each Term In Me.Terms
' Search the cell text for the first instance of
' the current smart tag term.
Dim index As Integer = Me.CellText.IndexOf(Term, 0)
If (index >= 0) Then
' Create a smart tag token and a property bag for the
' recognized term.
Dim propertyBag As ISmartTagProperties = _
site.GetNewPropertyBag()
' Write a new property value.
Dim key As String = "Key1"
propertyBag.Write(key, DateTime.Now)
' Attach the smart tag to the term in the document
Me.PersistTag(propertyBag)
' This implementation only finds the first instance
' of a smart tag term in the cell.
Exit For
End If
Next
End Sub
protected override void Recognize(string text,
ISmartTagRecognizerSite site, ISmartTagTokenList tokenList)
{
// Determine whether each smart tag term exists in
// the document text.
foreach (string term in this.Terms)
{
// Search the cell text for the first instance of
// the current smart tag term.
int index = this.CellText.IndexOf(term, 0);
if (index >= 0)
{
// Create a smart tag token and a property bag for the
// recognized term.
ISmartTagProperties propertyBag =
site.GetNewPropertyBag();
// Write a new property value.
string key = "Key1";
propertyBag.Write(key, DateTime.Now.ToString());
// Attach the smart tag to the term in the document
this.PersistTag(propertyBag);
// This implementation only finds the first instance
// of a smart tag term in the cell.
break;
}
}
}
权限
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。