FieldSeparator

FieldSeparator class

Alan kodunu alan sonucundan ayıran bir Word alan ayırıcısını temsil eder.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Alanlarla Çalışmak dokümantasyon makalesi.

public class FieldSeparator : FieldChar

Özellikleri

İsimTanım
CustomNodeId { get; set; }Özel düğüm tanımlayıcısını belirtir.
virtual Document { get; }Bu düğümün ait olduğu belgeyi alır.
FieldType { get; }Alanın türünü döndürür.
Font { get; }Bu nesnenin yazı tipi formatlamasına erişim sağlar.
virtual IsComposite { get; }İadelerdoğru bu düğüm başka düğümler içeriyorsa.
IsDeleteRevision { get; }Değişiklik izleme etkinken bu nesne Microsoft Word’de silinmişse true değerini döndürür.
IsDirty { get; set; }Belgede yapılan diğer değişiklikler nedeniyle alanın geçerli sonucunun artık doğru (eski) olup olmadığını alır veya ayarlar.
IsFormatRevision { get; }Microsoft Word’de değişiklik izleme etkinken nesnenin biçimlendirmesi değiştirilmişse doğru değerini döndürür.
IsInsertRevision { get; }Bu nesne Microsoft Word’e değişiklik izleme etkinken eklenmişse doğru değerini döndürür.
IsLocked { get; set; }Ana alanın kilitli olup olmadığını alır veya ayarlar (sonucu yeniden hesaplanmamalıdır).
IsMoveFromRevision { get; }İadelerdoğru değişiklik izleme etkinken bu nesne Microsoft Word’de taşındıysa (silindiyse).
IsMoveToRevision { get; }İadelerdoğru bu nesne Microsoft Word’de değişiklik izleme etkinken taşınmışsa (eklenmişse).
NextSibling { get; }Bu düğümden hemen sonra gelen düğümü alır.
override NodeType { get; }İadelerFieldSeparator .
ParentNode { get; }Bu düğümün doğrudan ebeveynini alır.
ParentParagraph { get; }Üst öğeyi alırParagraph bu düğümün.
PreviousSibling { get; }Bu düğümden hemen önceki düğümü alır.
Range { get; }Bir değeri döndürürRange Bu düğümde bulunan bir belgenin bölümünü temsil eden nesne.

yöntemler

İsimTanım
override Accept(DocumentVisitor)Ziyaretçi kabul eder.
Clone(bool)Düğümün bir kopyasını oluşturur.
GetAncestor(NodeType)Belirtilenin ilk atayı alırNodeType .
GetAncestor(Type)Belirtilen nesne türünün ilk atayı alır.
GetField()char. alanı için bir alan döndürür
override GetText()Bu düğümün temsil ettiği özel karakteri alır.
NextPreOrder(Node)Ön sipariş ağaç geçiş algoritmasına göre sonraki düğümü alır.
PreviousPreOrder(Node)Ön sipariş ağaç geçiş algoritmasına göre önceki düğümü alır.
Remove()Kendini üst öğeden kaldırır.
ToString(SaveFormat)Düğümün içeriğini belirtilen formatta bir dizeye aktarır.
ToString(SaveOptions)Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.

Notlar

FieldSeparator satır içi düzeyde bir düğümdür ve tarafından temsil edilen FieldSeparatorChar Belgedeki kontrol karakteri.

FieldSeparator sadece çocuğu olabilirParagraph.

Microsoft Word belgesindeki tam alan, bir alan başlangıç karakteri, alan kodu, alan ayırıcı karakteri, alan result ve alan sonu karakterinden oluşan karmaşık bir yapıdır. Bazı alanlarda yalnızca alan başlangıcı, alan kodu ve alan sonu bulunur.

Belgeye kolayca yeni bir alan eklemek içinInsertField yöntemi.

Örnekler

Bir alan koleksiyonuyla nasıl çalışılacağını gösterir.

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

    // Alan koleksiyonu üzerinde yineleme yapın ve içerikleri yazdırıp yazın
    // özel bir ziyaretçi uygulaması kullanarak her alanın.
    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>
/// Alan bilgilerini yazdıran ziyaretçi uygulamasını belgeleyin.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// Ziyaretçinin biriktirdiği belgenin düz metnini alır.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Belgede bir FieldStart düğümüyle karşılaşıldığında çağrılır.
    /// </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>
    /// Belgede FieldSeparator düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Belgede FieldEnd düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Ayrıca bakınız