Web-Extension Koleksiyon Sınıfları
Web-Uzantı Koleksiyon Sınıfları
Bu kılavuz, Aspose.Words FOSS için .NET içinde bulunan dört web uzantısı koleksiyon sınıfının nasıl — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, ve WebExtensionReferenceCollection — soyut sınıf aracılığıyla tek bir koleksiyon sözleşmesini paylaşır BaseWebExtensionCollection temel sınıf. Web uzantısı bölmeleri, bağlamalar ve web uzantısı özelliklerinin gerçekte neyi temsil ettiğini görmek için, Web Uzantıları kılavuz; bu sayfa yalnızca hepsinin paylaştığı konteyner API öğesini kapsar.
BaseWebExtensionCollection: Tek Sözleşme, Dört Koleksiyon
BaseWebExtensionCollection, TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection ve WebExtensionReferenceCollection için temel sınıftır. IEnumerable<T>‘i uygular ve bu dört somut koleksiyonun sunduğu her üyeyi tanımlar — dört alt sınıftan hiçbiri, temel sınıfın sağladığı şeyin ötesinde kendi ek metod veya özelliklerini ilan etmez.
Öğeleri Eklemek, Kaldırmak ve Saymak
Add(item) belirtilen öğeyi koleksiyona ekler. Clear() tüm elemanları kaldırır. Remove(index) belirtilen indeksdeki öğeyi kaldırır — bir öğe referansı değil, konumsal bir index alır, bu yüzden belirli bir öğeyi kaldırmak önce onun indeksini bulmayı gerektirir. Count koleksiyondaki mevcut eleman sayısını raporlar.
Bir Koleksiyonu Dizinlemek
GetEnumerator() bir koleksiyon üzerinden yineleme yapabilen bir enumerator döndürür, böylece herhangi bir BaseWebExtensionCollection-türevi koleksiyon, öğeleri üzerinde tip-özel yineleme kodu olmadan bir foreach döngüsü destekler.
İpuçları ve En İyi Uygulamalar
- Dört koleksiyonun tamamı aynı temel sözleşmeyi paylaştığı için,
BaseWebExtensionCollection‘ınAdd,Clear,Remove,CountveGetEnumeratorüyelerine karşı yazılan kod,TaskPaneCollection,WebExtensionBindingCollection,WebExtensionPropertyCollectionveWebExtensionReferenceCollectionüzerinde tutarlı şekilde çalışır. Remove(index)konumsal bir indeks alır — yalnızca öğenin kendisine sahipseniz, önce koleksiyonu yineleyerek indeksini bulun ya da ekleme sırasında indeksi izleyin.- Yineleme yapmadan önce
Count‘ı okuyun, ya da temel sözleşme konumsal bir getter sağlamadığından, manuel olarak indekslemeye yerineGetEnumerator()ile doğrudan koleksiyon üzerindeforeachyapın. - Bir koleksiyonu sıfırlamanız gerektiğinde döngü içinde sürekli
Removeçağırmak yerineClear()‘ı çağırın.
Yaygın Sorunlar
| Sorun | Neden | Düzelt |
|---|---|---|
Remove öğeyi kendisi olarak kabul etmez | Remove(index), BaseWebExtensionCollection-türevi koleksiyonlarda konumsal bir indeks alır, referans almaz | Öğenin indeksini önce bulun (örneğin döngü sırasında), ardından Remove(index) çağırın |
| Dört koleksiyondan birinde yineleme yapmak, türler arasında tekrarlanmış gibi hissettiriyor | Her koleksiyon ayrı bir somut tiptir, ancak hepsi BaseWebExtensionCollection‘ın üyelerini paylaşır | Ortak yineleme veya yardımcı mantığı, dört koleksiyonun ortak olan Add, Clear, Remove, Count ve GetEnumerator üyelerine karşı bir kez yazın |
| Bir kod parçasının hangi somut koleksiyon tipine ihtiyacı olduğundan emin değilim | Dört koleksiyon, WebExtension ve Document üzerindeki farklı özelliklerden sunulur | Kontrol edin Web Extensions hangi özelliğin hangi koleksiyon tipini döndürdüğünü gösteren kılavuz |
FAQ
Dört web uzantısı koleksiyonu aynı şekilde davranmasının nedeni nedir?
Hepsi aynı soyut temel sınıfı, BaseWebExtensionCollection, türetir; bu sınıf Add, Clear, Remove, Count ve GetEnumerator tanımlar — dört alt sınıftan hiçbiri kendi üyelerini eklemez.
Bu koleksiyonlardan birindeki belirli bir öğeyi nasıl kaldırırım?
Remove(index)‘ı öğenin konumsal indeksiyle çağırın — yalnızca öğe referansına sahipseniz, önce koleksiyonu enumerate ederek indeksi bulun.
Bu dört koleksiyondan herhangi birini aynı şekilde yineleyebilir miyim?
Evet — dört tanesi de IEnumerable<T>‘ı BaseWebExtensionCollection aracılığıyla uygular, bu yüzden GetEnumerator() / foreach hepsinde aynı şekilde çalışır.
Bir WebExtensionBinding ya da TaskPane öğesinin gerçekte neyi temsil ettiğini nereden öğrenebilirim?
Şuraya bakın Web Extensions rehber — bu sayfa yalnızca paylaşılan koleksiyon kapsayıcı davranışını kapsar, koleksiyonların tuttuğu alan nesnelerini kapsamaz.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
BaseWebExtensionCollection | Dört web-extension koleksiyon tipinin tamamı tarafından paylaşılan soyut temel sınıf |
BaseWebExtensionCollection.Add(item) | Koleksiyona bir öğe ekler |
BaseWebExtensionCollection.Clear() | Koleksiyonun tüm öğelerini kaldırır |
BaseWebExtensionCollection.Remove(index) | Belirtilen indeksteki öğeyi kaldırır |
BaseWebExtensionCollection.GetEnumerator() | Koleksiyonu yinelemek için bir enumerator döndürür |
BaseWebExtensionCollection.Count | Koleksiyondaki öğe sayısı |
TaskPaneCollection | Somut BaseWebExtensionCollection TaskPane öğe |
WebExtensionBindingCollection | Somut BaseWebExtensionCollection WebExtensionBinding öğe |
WebExtensionPropertyCollection | Somut BaseWebExtensionCollection WebExtensionProperty öğenin |
WebExtensionReferenceCollection | Somut BaseWebExtensionCollection WebExtensionReference öğenin |