كيف يمكنني منع ظهور فئة عامة توفر طرق الامتداد في Intellisense؟
-
08-07-2019 - |
سؤال
هل هناك أي طريقة "لإخفاء" اسم فئة هدفها الوحيد هو توفير طرق الامتداد من Intellisense؟
أرغب في إزالة اسم الفئة من قائمة Intellisense ولكني بحاجة إلى أن تكون طرق تمديد الفئة متاحة للتجمعات الخارجية عبر Intellisense بالطريقة المعتادة.
المحلول
حسنا، لدي الجواب على هذا.اقتراح هالجريم بوضع علامة على الفصل بـ..
[EditorBrowsable(EditorBrowsableState.Never)]
..لا يعمل في الواقع ولكن فقط حيث حَشد تتم الإشارة إليه، بدلاً من المشروع، كما هو الحال في حل VS الخاص بي أثناء كتابة التجميع الذي يوفر الفصل.طرق التمديد متاحة كالمعتاد.
نصائح أخرى
وكنت أتوقع أنك في وسعه لهذا مع السمة EditorBrowsable:
[EditorBrowsable(EditorBrowsableState.Never)]
static class MyExtensions { }
للأسف هذا لا يبدو للعمل.
هل يعني أنك تريد إخفاء الطبقة، أو أساليب الإرشاد؟
إذا كنت وضعت الطبقة ثابتة في مساحة الاسم الخاص به، ثم أي رمز التي لا تستورد أن مساحة الاسم مع التوجيه باستخدام لن "رؤية" طرق الإرشاد.
إذا كنت وضعت أساليب الإرشاد الخاص بك في وحدة نمطية هناك سمة دعا HideModuleName التي سوف إخفاء اسم وحدة من الظهور في التحسس.