FieldEnd

FieldEnd class

Rappresenta la fine di un campo Word in un documento.

Per saperne di più, visita ilLavorare con i campi articolo di documentazione.

public class FieldEnd : FieldChar

Proprietà

NomeDescrizione
CustomNodeId { get; set; }Specifica l’identificatore del nodo personalizzato.
virtual Document { get; }Ottiene il documento a cui appartiene questo nodo.
FieldType { get; }Restituisce il tipo del campo.
Font { get; }Fornisce l’accesso alla formattazione dei caratteri di questo oggetto.
HasSeparator { get; }RestituisceVEROse questo campo ha un separatore.
virtual IsComposite { get; }RestituisceVERO se questo nodo può contenere altri nodi.
IsDeleteRevision { get; }Restituisce vero se questo oggetto è stato eliminato in Microsoft Word mentre era abilitato il rilevamento delle modifiche.
IsDirty { get; set; }Ottiene o imposta se il risultato corrente del campo non è più corretto (obsoleto) a causa di altre modifiche apportate al documento.
IsFormatRevision { get; }Restituisce true se la formattazione dell’oggetto è stata modificata in Microsoft Word mentre era abilitato il rilevamento delle modifiche.
IsInsertRevision { get; }Restituisce vero se questo oggetto è stato inserito in Microsoft Word mentre il rilevamento delle modifiche era abilitato.
IsLocked { get; set; }Ottiene o imposta se il campo padre è bloccato (non deve ricalcolare il risultato).
IsMoveFromRevision { get; }RestituisceVERO se questo oggetto è stato spostato (eliminato) in Microsoft Word mentre il rilevamento delle modifiche era abilitato.
IsMoveToRevision { get; }RestituisceVERO se questo oggetto è stato spostato (inserito) in Microsoft Word mentre il rilevamento delle modifiche era abilitato.
NextSibling { get; }Ottiene il nodo immediatamente successivo a questo nodo.
override NodeType { get; }RestituisceFieldEnd .
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
ParentParagraph { get; }Recupera il genitoreParagraph di questo nodo.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
Range { get; }Restituisce aRange oggetto che rappresenta la porzione di documento contenuta in questo nodo.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
Clone(bool)Crea un duplicato del nodo.
GetAncestor(NodeType)Ottiene il primo antenato dell’oggetto specificatoNodeType .
GetAncestor(Type)Ottiene il primo antenato del tipo di oggetto specificato.
GetField()Restituisce un campo per il campo char.
override GetText()Ottiene il carattere speciale rappresentato da questo nodo.
NextPreOrder(Node)Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero di preordine.
PreviousPreOrder(Node)Ottiene il nodo precedente in base all’algoritmo di attraversamento dell’albero di preordine.
Remove()Si rimuove dal genitore.
ToString(SaveFormat)Esporta il contenuto del nodo in una stringa nel formato specificato.
ToString(SaveOptions)Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate.

Osservazioni

FieldEnd è un nodo a livello in linea e rappresentato daFieldEndChar carattere di controllo nel documento.

FieldEnd può essere solo un figlio diParagraph.

Un campo completo in un documento Microsoft Word è una struttura complessa composta da un carattere di inizio campo, un codice di campo, un carattere separatore di campo, un risultato di campo e un carattere di fine campo. Alcuni campi hanno solo inizio campo, codice campo e fine campo.

Per inserire facilmente un nuovo campo in un documento, utilizzare il comandoInsertField Metodo .

Esempi

Mostra come lavorare con una raccolta di campi.

public void FieldCollection()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" DATE \\@ \"dddd, d MMMM yyyy\" ");
    builder.InsertField(" TIME ");
    builder.InsertField(" REVNUM ");
    builder.InsertField(" AUTHOR  \"John Doe\" ");
    builder.InsertField(" SUBJECT \"My Subject\" ");
    builder.InsertField(" QUOTE \"Hello world!\" ");
    doc.UpdateFields();

    FieldCollection fields = doc.Range.Fields;

    Assert.AreEqual(6, fields.Count);

    // Itera sulla raccolta di campi e stampa contenuto e tipo
    // di ogni campo utilizzando un'implementazione personalizzata del visitatore.
    FieldVisitor fieldVisitor = new FieldVisitor();

    using (IEnumerator<Field> fieldEnumerator = fields.GetEnumerator())
    {
        while (fieldEnumerator.MoveNext())
        {
            if (fieldEnumerator.Current != null)
            {
                fieldEnumerator.Current.Start.Accept(fieldVisitor);
                fieldEnumerator.Current.Separator?.Accept(fieldVisitor);
                fieldEnumerator.Current.End.Accept(fieldVisitor);
            }
            else
            {
                Console.WriteLine("There are no fields in the document.");
            }
        }
    }

    Console.WriteLine(fieldVisitor.GetText());
}

/// <summary>
/// Documenta l'implementazione del visitatore che stampa le informazioni sul campo.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// Ottiene il testo semplice del documento accumulato dal visitatore.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Chiamato quando nel documento viene incontrato un nodo FieldStart.
    /// </summary>
    public override VisitorAction VisitFieldStart(FieldStart fieldStart)
    {
        mBuilder.AppendLine("Found field: " + fieldStart.FieldType);
        mBuilder.AppendLine("\tField code: " + fieldStart.GetField().GetFieldCode());
        mBuilder.AppendLine("\tDisplayed as: " + fieldStart.GetField().Result);

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Chiamato quando nel documento viene incontrato un nodo FieldSeparator.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Chiamato quando nel documento viene incontrato un nodo FieldEnd.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Guarda anche