مشاركة عبر


تصميم خاصية المفهرسة

الخصائص المفهرسة السماح بالوصول الصفيف تشبه إلى مجموعات من عناصر (على سبيل المثال، حرف/ حروف في سلسلة أو وحدات البت في BitArray). فهرسة الخصائص، والتي تسمى مفهرسات أو الافتراضي الخصائص، تختلف عن خصائص العادية بحيث تصبح تشير إلى أي عنصر في المجموعة للوصول إلى معلمات. يجب أن يكون تطبيق خاصية فهرس كـ البسيطة كـ ممكنة لأن مفهرسات غالباً ما تستخدم في حلقات. الإرشادات التالية التأكد أن لديك أنواع يحتوي على فهارس المصممة جيدا في المكان المناسب.

يمكنك استخدام مفهرسات لتوفير الوصول إلى بيانات المخزنة في صفيفة داخلية.

خذ بعين الاعتبار توفير مفهرسات تشغيل الأنواع التي تمثل مجموعات عناصر.

تجنب تمت الفهرسة خصائص معلمة واحد أو أكثر من.

إذا كان مفهرس يتطلب اعادة تقييم معلمات متعددة، وما إذا كانت خاصية حقا يمثل الوصول إلى مجموعة منطقية. لا، اتبع الطرق بدلاً من ذلك و خذ بعين الاعتبار اختيار اسم أسلوب الذي يبدأ بـ Getأو Set.

تجنب مفهرسات مع معلمة أنواع غير ذلك غير النظام.Int32 النظام.Int64، النظام.سلسلة، النظام.كائن، التعدادات أو النوع العام معلمة s.

إذا تطلب التصميم أنواع غير ذلك من المعلمات، يجب أن شدة اعادة تقييم ما إذا كان يمثل العضو فعلا الوصول إلى مجموعة منطقية. لا، اتبع الطرق بدلاً من ذلك و خذ بعين الاعتبار اختيار اسم أسلوب الذي يبدأ بـ Getأو Set.

قم باستخدام اسم عنصر للخصائص المفهرسة إلا إذا كان هناك هو على اسم obviously أفضل (على سبيل المثال، تظهر خاصية النظام.سلسلة.Chars(النظام.Int32)).

IndexerNameAttributeيمكن استخدام السمة إلى cusإلىmize اسم عنصر مفهرس.

لا توفر كلا مفهرس و أساليب دلالياً متكافئة.

في مثال التعليمة البرمجية التالية، يجب تم تغييره مفهرس لأسلوب.

<System.Runtime.CompilerServices.IndexerNameAttribute("PositionsHeld")> _
    Public Property Item (skillId as Integer) as JobInfoCollection


...


Public Function GetPositions(skillId as Integer, _
    minJobLevel as Integer) _
   as JobInfoCollection
[System.Runtime.CompilerServices.IndexerNameAttribute("PositionsHeld")]
    public JobInfoCollection this [int skillId]


...


public JobInfoCollection GetPositions(int skillId, int minJobLevel)

لا توفر المزيد عائلة واحدة من مفهرسات overloaded في نوع واحد.

بعض compilers، مثل كـ C# المترجم، تفرض هذه الإرشادات العامة.

مجموعات متعددة من مفهرسات غير معتمدة من قبل بعض اللغات. إذا كنت استخدم بها، بعض المطورين لن تكون قادراً على الوصول إلى هؤلاء الأعضاء.

لا تستخدم غير-الافتراضي فهرسة الخصائص.

بعض compilers، مثل كـ C# المترجم، تفرض هذه الإرشادات العامة. الخصائص المفهرسة الافتراضية-بدون غير معتمدة في الجميع لغات البرمجة. إذا كنت استخدم بها، بعض المطورين لن تكون قادراً على الوصول إلى هؤلاء الأعضاء.

أجزاء حقوق النشر 2005 Microsoft Office 2010 Suite Corporation. كافة الحقوق محفوظة.

أجزاء حقوق النشر شركة Addison-Wesley. كافة الحقوق محفوظة.

ل المزيد المعلومات تشغيل إرشادات التصميم، راجع "إطار عمل إرشادات التصميم: كتاب اصطلاحات، Idioms، و نقش لمكتبات.NET القابل لإعادة الاستخدام"ب Krzysztof Cwalina و رفيق Abrams، ينشره Addison-Wesley، 2005.

راجع أيضًا:

المبادئ

تصميم خاصية

موارد أخرى

إرشادات تصميم عضو

تصميم إرشادات لتطوير مكتبات فئة