SmartTag.PersistTag Метод (Int32, Int32, ) (2007 System)
Обновлен: Ноябрь 2007
Хранит сведения о смарт-теге.
Пространство имен: Microsoft.Office.Tools.Word
Сборка: Microsoft.Office.Tools.Word.v9.0 (в Microsoft.Office.Tools.Word.v9.0.dll)
Синтаксис
'Декларация
Protected Sub PersistTag ( _
startIndex As Integer, _
length As Integer, _
propertyBag As ISmartTagProperties _
)
'Применение
Dim startIndex As Integer
Dim length As Integer
Dim propertyBag As ISmartTagProperties
Me.PersistTag(startIndex, length, _
propertyBag)
protected void PersistTag(
int startIndex,
int length,
ISmartTagProperties propertyBag
)
Параметры
- startIndex
Тип: System.Int32
Позиция в абзаце, с которой начинается смарт-тег.
- length
Тип: System.Int32
Длина смарт-тега.
- propertyBag
Тип: ISmartTagProperties
Пакет свойств, содержащий ключ и пары значений маркера. Может иметь значение nullссылка null (Nothing в Visual Basic).
Исключения
Исключение | Условие |
---|---|
InvalidOperationException | PersistTag(Int32, Int32, ISmartTagProperties) не вызывался из Recognize. |
Заметки
PersistTag(Int32, Int32, ISmartTagProperties) сохраняет распознаваемый тег. Вызовите его из метода Recognize, чтобы указать, что в тексте обнаружен смарт-тег. Используйте параметр propertyBag для сохранения настраиваемых свойств смарт-тега. Можно использовать свойства для настройки действия, если выбран элемент контекстного меню смарт-тега.
Примеры
В приведенном ниже примере кода демонстрируется переопределение метода Recognize в классе, производном от класса Microsoft.Office.Tools.Word.SmartTag. В этой реализации Recognize каждое выражение смарт-тега сравнивается с содержимым абзаца. Для каждого выражения смарт-тега в абзаце в коде добавляется настраиваемое свойство смарт-тега, после чего для распознавания смарт-тега используется метод PersistTag(Int32, Int32, ISmartTagProperties). В данном примере предполагается, что была добавлена ссылка на библиотеку типов Microsoft Smart Tags 2.0 на вкладке COM диалогового окна Добавление ссылки. Данный пример кода является частью большого примера, приведенного в описании класса 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 text for the current smart tag term.
Dim index As Integer = Me.ParagraphText.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)
' Attach the smart tag to the term in the document
Me.PersistTag(index, Term.Length, propertyBag)
' Increment the index and then find the next
' instance of the smart tag term.
index += Term.Length
index = ParagraphText.IndexOf(Term, index)
End While
Next
End Sub
protected override void Recognize(string text,
ISmartTagRecognizerSite site, ISmartTagTokenList tokenList)
{
foreach (string term in this.Terms)
{
// Search the text for the current smart tag term.
int index = this.ParagraphText.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
this.PersistTag(index, term.Length, propertyBag);
// Increment the index and then find the next
// instance of the smart tag term.
index += term.Length;
index = ParagraphText.IndexOf(term, index);
}
}
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.