FieldBuilder ile Alanlar Oluşturma

FieldBuilder ile Alanlar Oluşturma

Alanları FieldBuilder ile Oluşturma

Bu kılavuz, Aspose.Words FOSS içinde .NET için sıfırdan bir Word alanı nasıl oluşturulacağını, kullanarak gösterir. FieldBuilder and FieldArgumentBuilder, zaten bir belgede var olan bir alanla çalışmak yerine. Mevcut alanları okuma, güncelleme veya kaldırma için, bkz. Alanlarla Çalışma kılavuz.


Bir Alanı FieldBuilder ile Oluşturma

FieldBuilder bir alanı alan kodu token’larından — argümanlar ve anahtarlar — oluşturur. new FieldBuilder(fieldType) ile bir tane inşa edin, oluşturmak istediğiniz alanın FieldType değerini geçerek. Argümanları, bir string, int, double, iç içe bir FieldBuilder veya bir FieldArgumentBuilder kabul eden aşırı yüklenmiş AddArgument(argument) yöntemiyle ekleyin. Anahtarları aşırı yüklenmiş AddSwitch(switchName), AddSwitch(switchName, switchArgument) (string) veya AddSwitch(switchName, switchArgument) (int/double) yöntemleriyle ekleyin.


Oluşturulan Alanı Ekleme

Bir FieldBuilder argümanlarını ve anahtarlarını aldıktan sonra, belgeye eklemek için BuildAndInsert(refNode) çağırın — bir aşırı yükleme bir Inline düğümünü kabul eder ve alanı onun önüne ekler, diğeri bir Paragraph kabul eder ve alanı o paragrafın sonuna ekler.


Karmaşık Argümanları FieldArgumentBuilder ile Oluşturma

FieldArgumentBuilder, tek bir argümanın sadece bir dizeden daha fazlasına ihtiyaç duyduğu durumlar için alanlar, düğümler ve düz metinden oluşan karmaşık bir alan argümanı oluşturur. new FieldArgumentBuilder() ile bir tane oluşturun, ardından düz metin eklemek için AddText(text), bir Inline düğümü eklemek için AddNode(node) veya argümanın içine başka bir alan (kendi FieldBuilder ile oluşturulmuş) yerleştirmek için AddField(fieldBuilder) çağırın. Tamamlanmış FieldArgumentBuilder öğesini FieldBuilder.AddArgument(argument)‘e göndererek dış alanın argümanlarından biri olarak kullanın.


İpuçları ve En İyi Uygulamalar

  • FieldBuilder‘ı, özel alan sınıflarından biri (örneğin FieldDate veya FieldSymbol) tarafından desteklenmeyen bir alan türü oluştururken veya kodları elle yazmak yerine verilerden programlı olarak alan kodları üretirken kullanın.
  • Basit bir durumda, FieldBuilder.AddArgument(FieldBuilder) kullanarak bir alt alanı dış alanın argümanı içine yerleştirin; argüman tek bir alandan fazlaysa, metin, düğüm ve iç içe alanlardan oluşan karışık bir argüman oluşturmak için FieldArgumentBuilder‘i kullanın.
  • Alanı yerleştirmek istediğiniz konuma uygun BuildAndInsert(refNode) aşırı yüklemesini seçin — belirli bir Inline düğümünün önüne ya da bir Paragraph‘nin sonuna.
  • BuildAndInsert işleminden sonra, sonucu ağaçtaki diğer herhangi bir alan gibi ele alın — örneğin, alan türü açık bir yeniden hesaplama gerektiriyorsa Update()‘i ona çağırın.

Yaygın Sorunlar

SorunNedenDüzeltme
BuildAndInsert yanlış konumu hedefliyorİstenen ekleme noktası için yanlış aşırı yükleme kullanıldıOnun önüne eklemek için bir Inline düğümü, sonuna eklemek için ise bir Paragraph geçirin
Bir alan argümanı düz metin ve düğümü birlikte kabul etmezAddArgument, bir birleşik argüman yerine tek bir string/int/double ile çağrıldıKarışık argümanı FieldArgumentBuilder (AddText, AddNode, AddField) ile oluşturun ve bunu AddArgument‘e geçirin
Anahtar değeri, oluşturulan alan kodunda tanınmıyorAnahtar aslında bir argüman gerektirdiğinde AddSwitch(switchName) kullanıldıAnahtarın string, int veya double değerini kullanarak AddSwitch(switchName, switchArgument) aşırı yüklemesini kullanın

FAQ

Önceden oluşturulmuş bir alan kodu eklemek yerine FieldBuilder ne zaman kullanılmalı?

Önceden oluşturulmuş bir alan kodu dizesi eklemek yerine, alanın argümanları ve anahtarları üzerinde programlı olarak oluştururken açık kontrol gerektiğinde FieldBuilder kullanın.

Bir alana birden fazla argüman nasıl ekleyebilirim?

Her argüman için bir kez AddArgument çağırın — string, int, double, iç içe bir FieldBuilder ve FieldArgumentBuilder için aşırı yüklenmiştir.

Argümanı metin ve başka bir alanın karışımını içeren bir alan oluşturabilir miyim?

Evet — FieldArgumentBuilder kullanın, gerektiğinde AddText, AddNode ve AddField çağırın, ardından FieldBuilder.AddArgument‘e iletin.

Oluşturulan alanı belgeye nasıl yerleştiririm?

BuildAndInsert(refNode) çağırın, ya bir Inline düğümü (önüne ekler) ya da bir Paragraph (sonuna ekler) geçirerek.


API Reference Özet

Sınıf/YöntemAçıklama
FieldBuilderAlan kodu belirteçlerinden (argümanlar ve anahtarlar) bir alan oluşturur
FieldBuilder(fieldType)FieldType oluşturmak için alanı alan kurucu
FieldBuilder.AddArgument(argument)Bir argüman ekler (string, int, double, FieldBuilder veya FieldArgumentBuilder)
FieldBuilder.AddSwitch(switchName) / AddSwitch(switchName, switchArgument)Bir alan anahtarını ekler, değerli ya da değersiz
FieldBuilder.BuildAndInsert(refNode)Oluşturulan alanı bir Inline düğümünün önüne veya bir Paragraph sonuna ekler
FieldArgumentBuilderMetin, düğümler ve iç içe alanlardan karmaşık bir alan argümanı oluşturur
FieldArgumentBuilder.AddText(text)Argümana düz metin ekler
FieldArgumentBuilder.AddNode(node)Argümana bir Inline düğümü ekler
FieldArgumentBuilder.AddField(fieldBuilder)Argümana FieldBuilder tarafından oluşturulan bir alanı iç içe ekler

Ayrıca Bakınız

 Türkçe