کلاس‌های مجموعه وب-اکستنشن

کلاس‌های مجموعه وب-اکستنشن

کلاس‌های مجموعهٔ Web-Extension

این راهنما نشان می‌دهد که چگونه چهار کلاس مجموعهٔ افزونهٔ وب در Aspose.Words FOSS برای .NET — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection، و WebExtensionReferenceCollection — یک قرارداد مجموعهٔ منفرد را از طریق کلاس انتزاعی به اشتراک می‌گذارند BaseWebExtensionCollection کلاس پایه. برای اینکه پنل‌های کاری، بایندینگ‌ها و ویژگی‌های افزونهٔ وب در واقع چه معنایی دارند، ببینید افزونه‌های وب راهنما؛ این صفحه فقط API حامل را که همه آن‌ها به‌اشتراک می‌گذارند پوشش می‌دهد.


BaseWebExtensionCollection: یک قرارداد، چهار مجموعه

BaseWebExtensionCollection کلاس پایه برای TaskPaneCollection، WebExtensionBindingCollection، WebExtensionPropertyCollection و WebExtensionReferenceCollection است. این کلاس IEnumerable<T> را پیاده‌سازی می‌کند و هر عضو را که این چهار مجموعهٔ ملموس افشا می‌کنند تعریف می‌کند — هیچ‌یک از چهار زیرکلاس روش‌ها یا ویژگی‌های اضافی خود را فراتر از آنچه کلاس پایه فراهم می‌کند، اعلام نمی‌کند.


اضافه کردن، حذف کردن و شمارش آیتم‌ها

Add(item) مورد مشخص‌شده را به مجموعه اضافه می‌کند. Clear() تمام عناصر را حذف می‌کند. Remove(index) مورد را در ایندکس مشخص‌شده حذف می‌کند — این متد یک index موقعیتی می‌گیرد، نه یک ارجاع به مورد، بنابراین حذف یک مورد خاص ابتدا نیاز به یافتن ایندکس آن دارد. Count تعداد عناصری که در حال حاضر در مجموعه هستند را گزارش می‌دهد.


فهرست‌گذاری یک مجموعه

GetEnumerator() یک شمارنده (enumerator) برمی‌گرداند که می‌تواند از مجموعه عبور کند، بنابراین هر مجموعه‌ای که از BaseWebExtensionCollection مشتق شده باشد، یک حلقه foreach بر روی آیتم‌های آن را بدون نیاز به کد تکرار خاص نوع پشتیبانی می‌کند.


نکات و بهترین روش‌ها

  • از آنجا که هر چهار مجموعه همان قرارداد پایه را به اشتراک می‌گذارند، کدی که بر اساس اعضای Add، Clear، Remove، Count و GetEnumerator BaseWebExtensionCollection نوشته شده است، به‌صورت یکنواخت در TaskPaneCollection، WebExtensionBindingCollection، WebExtensionPropertyCollection و WebExtensionReferenceCollection عمل می‌کند.
  • Remove(index) یک شاخص موقعیتی می‌گیرد — اگر فقط خود آیتم را داشته باشید، ابتدا مجموعه را شمارش کنید تا شاخص آن را پیدا کنید، یا در زمان افزودن، شاخص را پیگیری کنید.
  • قبل از تکرار، Count را بخوانید، یا به‌جای ایندکس‌گذاری دستی، مستقیماً با GetEnumerator() روی مجموعه foreach کنید، زیرا قرارداد پایه یک getter موقعیتی را افشا نمی‌کند.
  • وقتی نیاز به بازنشانی یک مجموعه دارید، به‌جای فراخوانی مکرر Remove در یک حلقه، Clear() را صدا بزنید.

مشکلات رایج

مشکلدلیلاصلاح
Remove آیتم را به خودی خود نمی‌پذیردRemove(index) روی مجموعه‌های مشتق‌شده از BaseWebExtensionCollection یک شاخص موقعیتی می‌گیرد، نه یک ارجاعابتدا شاخص آیتم را پیدا کنید (مثلاً هنگام شمارش)، سپس Remove(index) را صدا بزنید
تکرار یکی از چهار مجموعه حس تکراری در انواع مختلف داردهر مجموعه یک نوع ملموس جداگانه است، اما همه اعضای BaseWebExtensionCollection را به اشتراک دارندمنطق تکرار یا ابزارهای مشترک را یک‌بار بنویسید که بر روی اعضای Add، Clear، Remove، Count و GetEnumerator که برای همه چهار مورد مشترک است، اعمال شود
مطمئن نیستید کدام نوع مجموعهٔ ملموس یک تکه کد نیاز داردچهار مجموعه از ویژگی‌های متفاوت در WebExtension و Document ارائه می‌شوندبررسی کنید Web Extensions راهنمای اینکه کدام ویژگی، کدام نوع مجموعه را برمی‌گرداند

FAQ

چرا چهار مجموعهٔ افزونهٔ وب رفتار یکسانی دارند؟

همهٔ آن‌ها از یک کلاس پایهٔ انتزاعی به نام BaseWebExtensionCollection ارث می‌برند که Add، Clear، Remove، Count و GetEnumerator را تعریف می‌کند — هیچ‌یک از این چهار زیرکلاس عضو خاص خود را اضافه نمی‌کند.

چگونه می‌توانم یک مورد خاص را از یکی از این مجموعه‌ها حذف کنم؟

با Remove(index) و اندیس موقعیتی مورد فراخوانی کنید — اگر فقط مرجع مورد را دارید، ابتدا با شمارش مجموعه، اندیس را پیدا کنید.

آیا می‌توانم هر یک از این چهار مجموعه را به همان روش پیمایش کنم؟

بله — همهٔ چهار مجموعه IEnumerable<T> تا BaseWebExtensionCollection را پیاده‌سازی می‌کنند، بنابراین GetEnumerator() / foreach به طور یکسان در میان آن‌ها کار می‌کند.

از کجا می‌توانم بفهمم یک مورد WebExtensionBinding یا TaskPane دقیقاً چه چیزی را نشان می‌دهد؟

به افزونه‌های وب راهنما — این صفحه فقط رفتار مخزن مشترک مجموعه را پوشش می‌دهد، نه اشیاء دامنه‌ای که مجموعه‌ها نگهداری می‌کنند.


API Reference خلاصه

کلاس/متدتوضیح
BaseWebExtensionCollectionکلاس پایهٔ انتزاعی که توسط تمام چهار نوع مجموعهٔ افزونهٔ وب به‌اشتراک گذاشته شده است
BaseWebExtensionCollection.Add(item)یک مورد را به مجموعه اضافه می‌کند
BaseWebExtensionCollection.Clear()تمام عناصر را از مجموعه حذف می‌کند
BaseWebExtensionCollection.Remove(index)مورد موجود در ایندکس مشخص شده را حذف می‌کند
BaseWebExtensionCollection.GetEnumerator()یک شمارنده برای پیمایش مجموعه باز می‌گرداند
BaseWebExtensionCollection.Countتعداد عناصر در مجموعه
TaskPaneCollectionمورد خاص BaseWebExtensionCollection از TaskPane مورد
WebExtensionBindingCollectionمورد BaseWebExtensionCollection از WebExtensionBinding آیتم
WebExtensionPropertyCollectionمورد BaseWebExtensionCollection از WebExtensionProperty آیتم
WebExtensionReferenceCollectionمورد BaseWebExtensionCollection از WebExtensionReference آیتم

همچنین ببینید:

 فارسی