VariableCollection
Содержание
[
Скрывать
]VariableCollection class
Коллекция переменных документа.
Чтобы узнать больше, посетитеРабота со свойствами документа статья документации.
public class VariableCollection : IEnumerable<KeyValuePair<string, string>>
Характеристики
Имя | Описание |
---|---|
Count { get; } | Получает количество элементов, содержащихся в коллекции. |
Item { get; set; } | Получает или задает переменную документа по имени без учета регистра. нулевой значения не допускаются в качестве правой части присваивания и будут заменены пустой строкой. (2 indexers) |
Методы
Имя | Описание |
---|---|
Add(string, string) | Добавляет переменную документа в коллекцию. |
Clear() | Удаляет все элементы из коллекции. |
Contains(string) | Определяет, содержит ли коллекция переменную документа с заданным именем. |
GetEnumerator() | Возвращает объект перечислителя, который можно использовать для перебора всех переменных в коллекции. |
IndexOfKey(string) | Возвращает отсчитываемый от нуля индекс указанной переменной документа в коллекции. |
Remove(string) | Удаляет переменную документа с указанным именем из коллекции. |
RemoveAt(int) | Удаляет переменную документа по указанному индексу. |
Примечания
Имена и значения переменных являются строками.
Имена переменных не чувствительны к регистру.
Примеры
Показывает, как работать с коллекцией переменных документа.
Document doc = new Document();
VariableCollection variables = doc.Variables;
// В каждом документе есть набор переменных пары ключ/значение, в которые мы можем добавлять элементы.
variables.Add("Home address", "123 Main St.");
variables.Add("City", "London");
variables.Add("Bedrooms", "3");
Assert.AreEqual(3, variables.Count);
// Мы можем отображать значения переменных в теле документа, используя поля DOCVARIABLE.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocVariable field = (FieldDocVariable)builder.InsertField(FieldType.FieldDocVariable, true);
field.VariableName = "Home address";
field.Update();
Assert.AreEqual("123 Main St.", field.Result);
// Присвоение значений существующим ключам обновит их.
variables.Add("Home address", "456 Queen St.");
// Затем нам придется обновить поля DOCVARIABLE, чтобы они отображали актуальное значение.
Assert.AreEqual("123 Main St.", field.Result);
field.Update();
Assert.AreEqual("456 Queen St.", field.Result);
// Проверяем, что переменные документа с определенным именем или значением существуют.
Assert.True(variables.Contains("City"));
Assert.True(variables.Any(v => v.Value == "London"));
// Коллекция переменных автоматически сортирует переменные в алфавитном порядке по имени.
Assert.AreEqual(0, variables.IndexOfKey("Bedrooms"));
Assert.AreEqual(1, variables.IndexOfKey("City"));
Assert.AreEqual(2, variables.IndexOfKey("Home address"));
// Перебираем коллекцию переменных.
using (IEnumerator<KeyValuePair<string, string>> enumerator = doc.Variables.GetEnumerator())
while (enumerator.MoveNext())
Console.WriteLine($"Name: {enumerator.Current.Key}, Value: {enumerator.Current.Value}");
// Ниже приведены три способа удаления переменных документа из коллекции.
// 1 - По имени:
variables.Remove("City");
Assert.False(variables.Contains("City"));
// 2 - По индексу:
variables.RemoveAt(1);
Assert.False(variables.Contains("Home address"));
// 3 - Очистить всю коллекцию сразу:
variables.Clear();
Assert.That(variables, Is.Empty);
Смотрите также
- пространство имен Aspose.Words
- сборка Aspose.Words