FieldPrivate

FieldPrivate class

ÖZEL alanını uygular.

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

public class FieldPrivate : Field

yapıcılar

İsimTanım
FieldPrivate()Default_Constructor

Özellikleri

İsimTanım
DisplayResult { get; }Görüntülenen alan sonucunu temsil eden metni alır.
End { get; }Alan sonunu temsil eden düğümü alır.
Format { get; }Bir alırFieldFormat Alanın formatlamasına yazılı erişim sağlayan nesne.
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.
IsLocked { get; set; }Alanın kilitli olup olmadığını alır veya ayarlar (sonucu yeniden hesaplanmamalıdır).
LocaleId { get; set; }Alanın LCID’sini alır veya ayarlar.
Result { get; set; }Alan ayırıcı ile alan sonu arasındaki metni alır veya ayarlar.
Separator { get; }Alan ayırıcıyı temsil eden düğümü alır. Olabilirhükümsüz .
Start { get; }Alanın başlangıcını temsil eden düğümü alır.
virtual Type { get; }Microsoft Word alan türünü alır.

yöntemler

İsimTanım
GetFieldCode()Alan başlangıcı ile alan ayırıcı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Alt alanların hem alan kodu hem de alan sonucu dahil edilir.
GetFieldCode(bool)Alan başlangıcı ile alan ayırıcı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür.
Remove()Alanı belgeden kaldırır. Alanın hemen ardından bir düğüm döndürür. Alanın sonu, üst düğümünün son child ‘si ise, üst paragrafını döndürür. Alan zaten kaldırılmışsa şunu döndürür:hükümsüz .
Unlink()Alanın bağlantısını kaldırır.
Update()Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa atar.
Update(bool)Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa atar.

Notlar

Özel bir depolama alanı sağlar. Bu alan, other dosya formatlarından dönüştürülen belgelere ilişkin verileri depolamak için kullanılır.

Örnekler

ÖZEL alanların nasıl işleneceğini gösterir.

public void FieldPrivate()
{
    // .docx formatına dönüştürdüğümüz bir Corel WordPerfect belgesini açın.
    Document doc = new Document(MyDir + "Field sample - PRIVATE.docx");

    // Yüklediğimiz gibi WordPerfect 5.x/6.x belgeleri ÖZEL alanlar içerebilir.
    // Microsoft Word, yükleme/kaydetme işlemleri sırasında ÖZEL alanları korur,
    // ancak onlar için hiçbir işlevsellik sağlamaz.
    FieldPrivate field = (FieldPrivate)doc.Range.Fields[0];

    Assert.AreEqual(" PRIVATE \"My value\" ", field.GetFieldCode());
    Assert.AreEqual(FieldType.FieldPrivate, field.Type);

    // Ayrıca bir belge oluşturucu kullanarak ÖZEL alanlar da ekleyebiliriz.
    DocumentBuilder builder = new DocumentBuilder(doc);
    builder.InsertField(FieldType.FieldPrivate, true);

    // Bu alanlar hassas bilgileri korumanın uygun bir yolu değildir.
    // WordPerfect'in eski sürümleriyle geriye dönük uyumluluk gerekli olmadığı sürece,
    // bu alanları güvenle kaldırabiliriz. Bunu DocumentVisiitor uygulamasını kullanarak yapabiliriz.
    Assert.AreEqual(2, doc.Range.Fields.Count);

    FieldPrivateRemover remover = new FieldPrivateRemover();
    doc.Accept(remover);

    Assert.AreEqual(2, remover.GetFieldsRemovedCount());
    Assert.AreEqual(0, doc.Range.Fields.Count);
}

/// <summary>
/// Karşılaşılan tüm ÖZEL alanları kaldırır.
/// </summary>
public class FieldPrivateRemover : DocumentVisitor
{
    public FieldPrivateRemover()
    {
        mFieldsRemovedCount = 0;
    }

    public int GetFieldsRemovedCount()
    {
        return mFieldsRemovedCount;
    }

    /// <summary>
    /// Belgede FieldEnd düğümüyle karşılaşıldığında çağrılır.
    /// Düğüm ÖZEL bir alana aitse alanın tamamı kaldırılır.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        if (fieldEnd.FieldType == FieldType.FieldPrivate)
        {
            fieldEnd.GetField().Remove();
            mFieldsRemovedCount++;
        }

        return VisitorAction.Continue;
    }

    private int mFieldsRemovedCount;
}

Ayrıca bakınız