FieldSeparator

FieldSeparator class

Representerar en Word-fältseparator som skiljer fältkoden från fältresultatet.

För att lära dig mer, besökArbeta med Fields dokumentationsartikel.

public class FieldSeparator : FieldChar

Egenskaper

namnBeskrivning
CustomNodeId { get; set; }Anger anpassad nodidentifierare.
virtual Document { get; }Hämtar dokumentet som denna nod tillhör.
FieldType { get; }Returnerar fältets typ.
Font { get; }Ger tillgång till teckensnittsformateringen för detta objekt.
virtual IsComposite { get; }ReturnerarSann om denna nod kan innehålla andra noder.
IsDeleteRevision { get; }Returnerar sant om detta objekt raderades i Microsoft Word medan ändringsspårning var aktiverad.
IsDirty { get; set; }Hämtar eller ställer in om det aktuella resultatet av fältet inte längre är korrekt (inaktuellt) på grund av andra modifieringar som gjorts i dokumentet.
IsFormatRevision { get; }Returnerar sant om formateringen av objektet ändrades i Microsoft Word medan ändringsspårning var aktiverad.
IsInsertRevision { get; }Returnerar sant om det här objektet infogades i Microsoft Word medan ändringsspårning var aktiverad.
IsLocked { get; set; }Hämtar eller ställer in om det överordnade fältet är låst (ska inte räkna om resultatet).
IsMoveFromRevision { get; }ReturnerarSann om det här objektet flyttades (borttogs) i Microsoft Word medan ändringsspårning var aktiverad.
IsMoveToRevision { get; }ReturnerarSann om detta objekt flyttades (infogades) i Microsoft Word medan ändringsspårning var aktiverad.
NextSibling { get; }Hämtar noden omedelbart efter denna nod.
override NodeType { get; }ReturnerarFieldSeparator .
ParentNode { get; }Hämtar den omedelbara föräldern till denna nod.
ParentParagraph { get; }Hämtar föräldernParagraph av denna nod.
PreviousSibling { get; }Hämtar noden omedelbart före denna nod.
Range { get; }Returnerar enRange objekt som representerar den del av ett dokument som finns i denna nod.

Metoder

namnBeskrivning
override Accept(DocumentVisitor)Accepterar en besökare.
Clone(bool)Skapar en dubblett av noden.
GetAncestor(NodeType)Hämtar den första förfadern till den angivnaNodeType .
GetAncestor(Type)Hämtar den första förfadern till den angivna objekttypen.
GetField()Returnerar ett fält för fältet char.
override GetText()Får specialtecknet som denna nod representerar.
NextPreOrder(Node)Hämtar nästa nod enligt algoritmen för förbeställningsträdet.
PreviousPreOrder(Node)Hämtar föregående nod enligt algoritmen för förbeställningsträdet.
Remove()Tar bort sig själv från föräldern.
ToString(SaveFormat)Exporterar innehållet i noden till en sträng i angivet format.
ToString(SaveOptions)Exporterar innehållet i noden till en sträng med de angivna sparalternativen.

Anmärkningar

FieldSeparator är en nod på inline-nivå och representeras avFieldSeparatorChar kontrolltecken i dokumentet.

FieldSeparator kan bara vara ett barn avParagraph.

Ett komplett fält i ett Microsoft Word-dokument är en komplex struktur som består av ett fältstarttecken, fältkod, fältseparatortecken, fältresultat och fältsluttecken. Vissa fält har bara fältstart, fältkod och fältslut.

För att enkelt infoga ett nytt fält i ett dokument, användInsertField metod.

Exempel

Visar hur man arbetar med en samling fält.

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);

    // Iterera över fältsamlingen och skriv ut innehåll och skriv
    // av varje fält med en anpassad besöksimplementering.
    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>
/// Dokumentbesökarimplementering som skriver ut fältinformation.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// Hämtar vanlig text av dokumentet som samlades av besökaren.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Anropas när en FieldStart-nod påträffas i dokumentet.
    /// </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>
    /// Anropas när en FieldSeparator-nod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en FieldEnd-nod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Se även