مشاركة عبر


ca1000: لا بتعريف الأعضاء ثابتة تشغيل الأنواع العامة

TypeName

DoNotDeclareStaticMembersOnGenericTypes

CheckId

ca1000

Category

Microsoft.تصميم

تعطيل تغيير

فصل

السبب

يحتوي على نوع عام مرئي خارجياً static(Sharedفي Visual أساسى) عضو.

وصف القاعدة

عند staticعضو نوع عام هو يسمى، وسيطة "نوع" يجب تحديد لنوع. عندما يقوم عضو مثيل عام يعتمد الاستخراج هو يسمى، وسيطة "نوع" يجب تحديد للعضو. بناء الجملة لتعيين وسيطة "نوع" في هذه الحالات الثاني هو المختلفة وبسهولة مرتبك، كما تبين الاستدعاءات التالية:

' Shared method in a generic type.
GenericType(Of Integer).SharedMethod()

' Generic instance method that does not support inference.
someObject.GenericMethod(Of Integer)()
// Static method in a generic type.
GenericType<int>.StaticMethod();

// Generic instance method that does not support inference.
someObject.GenericMethod<int>();

بشكل عام، كل من تصريحات السابقة يجب تجنب حيث لا يلزم أن تكون وسيطة "نوع" تحديد متى العضو هو المسمى. Th هو ينتج بناء جملة استدعاء الأعضاء في عام هو لا يختلف من بناء جملة غير عام. لمزيد من المعلومات، راجع ca1004: يجب توفير وظائف عامة معلمة نوع.

كيف إلى الإصلاح انتهاكات

لإصلاح انتهاكا لهذه قاعدة، إزالة العضو ثابتة أو تغييره إلى عضو مثيل.

عند إلى منع التحذيرات

لا بمنع تحذير من هذه قاعدة. توفير عام في بناء جملة هو سهلة الفهم واستخدام تقليل الوقت الذي هو لمعرفة وزيادة معدل تبني مكتبات جديدة.

القواعد ذات الصلة

ca1005: تجنب الإفراط معلمات تشغيل الأنواع العامة

ca1303: لا تمرير القيم الحرفية كمترجم معلمات

ca1002: لا تعرض القوائم العامة

CA1006: Do not nest generic types in member signatures

ca1004: يجب توفير وظائف عامة معلمة نوع

ca1003: استخدام مثيلات معالج حدث العام

CA1007: Use generics where appropriate

راجع أيضًا:

المرجع

generics (C# البرمجة الدليل)