SmartTagRecognizeContext.PersistTag - метод
Хранит сведения о смарт-теге.
Пространство имен: Microsoft.Office.Tools.Word
Сборка: Microsoft.Office.Tools.Word (в Microsoft.Office.Tools.Word.dll)
Синтаксис
'Декларация
Sub PersistTag ( _
startIndex As Integer, _
length As Integer, _
propertyBag As ISmartTagProperties _
)
void PersistTag(
int startIndex,
int length,
ISmartTagProperties propertyBag
)
Параметры
- startIndex
Тип: System.Int32
Позиция в абзаце, с которой начинается смарт-тег.
- length
Тип: System.Int32
Длина смарт-тега.
- propertyBag
Тип: Microsoft.Office.Interop.SmartTag.ISmartTagProperties
Пакет свойств, содержащий ключ и пары значений маркера.Может принимать значение nullпустая ссылка (Nothing в Visual Basic).
Исключения
Исключение | Условие |
---|---|
InvalidOperationException | Метод PersistTag не был вызван из метода Recognize. |
Заметки
Вызовите PersistTag из реализации метода Recognize, чтобы указать, что в тексте был найден смарт-тег. Используйте параметр propertyBag для сохранения настраиваемых свойств смарт-тега. Можно использовать свойства для настройки действия, если выбран элемент контекстного меню смарт-тега.
Примеры
В следующем примере кода показано, как вызвать метод PersistTag из реализации метода Recognize. В этой реализации каждое выражение смарт-тега сравнивается с содержимым абзаца. Для каждого выражения смарт-тега в абзаце в коде добавляется настраиваемое свойство смарт-тега, после чего для распознавания смарт-тега используется метод PersistTag. В этом примере предполагается, что ссылка на Microsoft.Office.Interop.SmartTag с вкладки .NET диалогового окна Добавить ссылку уже добавлена. Данный пример кода является частью большего примера, приведенного для интерфейса ISmartTagExtension.
Private Sub Recognize(ByVal text As String,
ByVal site As ISmartTagRecognizerSite,
ByVal tokenList As ISmartTagTokenList,
ByVal context As SmartTagRecognizeContext) Implements ISmartTagExtension.Recognize
For Each term As String In smartTagDemo.Terms
' Search the text for the current smart tag term.
Dim index As Integer = text.IndexOf(term, 0)
While (index >= 0)
' 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.ToString())
' Attach the smart tag to the term in the document
context.PersistTag(index, term.Length, propertyBag)
' Increment the index and then find the next instance of the smart tag term.
index += term.Length
index = text.IndexOf(term, index)
End While
Next
End Sub
void ISmartTagExtension.Recognize(string text, ISmartTagRecognizerSite site, ISmartTagTokenList tokenList,
SmartTagRecognizeContext context)
{
foreach (string term in smartTagDemo.Terms)
{
// Search the text for the current smart tag term.
int index = text.IndexOf(term, 0);
while (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
context.PersistTag(index, term.Length, propertyBag);
// Increment the index and then find the next instance of the smart tag term.
index += term.Length;
index = text.IndexOf(term, index);
}
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.