سؤال

وفقًا لوثائق MSDN على StringComparer.OrdinalIgnoreCase منشأه:

تُرجع خاصية OrdinalIgnoreCase فعليًا مثيلًا لفئة مجهولة مستمدة من StringComparer صف دراسي.

هل هذه ميزة أنا غير معتاد عليها - أنواع مفيدة مع الميراث؟ أو عن طريق "فئة مجهولة" هل يعني المؤلف ببساطة "فئة داخلية مستمدة من StringComparer, ، غير مرئي لرمز العميل "؟

هل كانت مفيدة؟

المحلول

إذا نظرت إلى الكود المصدري لـ StringComparer ، فيمكنك أن ترى أن OrginalIgnoreCase يعيد مثيلًا لـ Ordinalcomparer ، والذي يتم اشتقاقه من StringComparer.

لا يوجد شيء "مجهول" حول هذا الأمر الذي يمكنني رؤيته ، إنه مجرد ذلك داخلي لذلك لا يمكنك رؤيته من خارج الإطار.

نصائح أخرى

إنه ليس نوعًا مجهولًا في المعنى C# الطبيعي للمصطلح.

إنه مجرد نوع داخلي ، لذلك لا تعرف اسمه: لا يمكنك الرجوع إلى النوع الدقيق داخل الكود الخاص بك.

ال المترجم يمكن أن تخلق أنواع مجهولة ترث من نوع آخر - لا يمكنك ذلك. إنه أمر سيء للغاية ، حقًا لأنه سيكون ميزة رائعة لإنشاء نوع مجهول على الطيران يرث إما من فئة أخرى أو ينفذ واجهة.

نوع مجهول هو مجهول لنا ليس CLR و COMPLIER. يستخدم برنامج التحويل البرمجي تسمية مضحكة تتضمن <> في الاسم ويمكن للمترجم فقط القيام بذلك! و ربما تشاك نوريس...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top