VariableCollection

VariableCollection class

Una colección de variables de documento.

Para obtener más información, visite elTrabajar con propiedades de documento artículo de documentación.

public class VariableCollection : IEnumerable<KeyValuePair<string, string>>

Propiedades

NombreDescripción
Count { get; }Obtiene el número de elementos contenidos en la colección.
Item { get; set; }Obtiene o establece una variable de documento con un nombre que no distingue entre mayúsculas y minúsculas. nulo Los valores no están permitidos en el lado derecho de la asignación y serán reemplazados por una cadena vacía. (2 indexers)

Métodos

NombreDescripción
Add(string, string)Agrega una variable de documento a la colección.
Clear()Elimina todos los elementos de la colección.
Contains(string)Determina si la colección contiene una variable de documento con el nombre indicado.
GetEnumerator()Devuelve un objeto enumerador que se puede utilizar para iterar sobre todas las variables de la colección.
IndexOfKey(string)Devuelve el índice de base cero de la variable de documento especificada en la colección.
Remove(string)Elimina una variable de documento con el nombre especificado de la colección.
RemoveAt(int)Elimina una variable de documento en el índice especificado.

Observaciones

Los nombres y valores de las variables son cadenas.

Los nombres de las variables no distinguen entre mayúsculas y minúsculas.

Ejemplos

Muestra cómo trabajar con la colección de variables de un documento.

Document doc = new Document();
VariableCollection variables = doc.Variables;

// Cada documento tiene una colección de variables de par clave/valor, a las que podemos agregar elementos.
variables.Add("Home address", "123 Main St.");
variables.Add("City", "London");
variables.Add("Bedrooms", "3");

Assert.AreEqual(3, variables.Count);

// Podemos mostrar los valores de las variables en el cuerpo del documento usando campos 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);

// La asignación de valores a las claves existentes las actualizará.
variables.Add("Home address", "456 Queen St.");

// Luego tendremos que actualizar los campos DOCVARIABLE para asegurarnos de que muestren un valor actualizado.
Assert.AreEqual("123 Main St.", field.Result);

field.Update();

Assert.AreEqual("456 Queen St.", field.Result);

// Verificar que existan las variables del documento con un determinado nombre o valor.
Assert.True(variables.Contains("City"));
Assert.True(variables.Any(v => v.Value == "London"));

// La colección de variables ordena automáticamente las variables alfabéticamente por nombre.
Assert.AreEqual(0, variables.IndexOfKey("Bedrooms"));
Assert.AreEqual(1, variables.IndexOfKey("City"));
Assert.AreEqual(2, variables.IndexOfKey("Home address"));

// Enumerar la colección de variables.
using (IEnumerator<KeyValuePair<string, string>> enumerator = doc.Variables.GetEnumerator())
    while (enumerator.MoveNext())
        Console.WriteLine($"Name: {enumerator.Current.Key}, Value: {enumerator.Current.Value}");

// A continuación se muestran tres formas de eliminar variables de documento de una colección.
// 1 - Por nombre:
variables.Remove("City");

Assert.False(variables.Contains("City"));

// 2 - Por índice:
variables.RemoveAt(1);

Assert.False(variables.Contains("Home address"));

// 3 - Borrar toda la colección de una vez:
variables.Clear();

Assert.That(variables, Is.Empty);

Ver también