مشاركة عبر


ca1500: يجب أن لا تطابق أسماء الحقول على أسماء المتغيرات

TypeName

VariableNamesShouldNotMatchFieldNames

CheckId

ca1500

Category

Microsoft.Maintainability

تعطيل تغيير

عند تشغيل هذا h في معلمة كـ نفس الاسم كـ حقل:

  • فاصلة غير-إذا كان كلا حقل والأسلوب الذي يقوم بتعريف معلمة غير مرئي خارج تجميع، بغض النظر عن التغييرات التي تجريها.

  • فصل-إذا قمت بتغيير اسم الحقل، و هو vهوible خارج تجميع.

  • فصل-إذا قمت بتغيير اسم معلمة والأسلوب الذي يقوم بتعريف أنه هو vهوible خارج تجميع.

عند تشغيل على متغير محلي له نفس اسم حقل:

  • Breaking غير-إذا كان الحقل هو لا vهوible خارج تجميع، بغض النظر عن التغييرات التي تجريها.

  • فاصلة غير-إذا قمت بتغيير اسم المتغير المحلي وعدم تغيير الاسم حقل.

  • فصل-إذا قمت بتغيير اسم الحقل و كان مرئياً خارج تجميع.

السبب

تعريف أسلوب مثيل معلمة أو متغير محلي يطابق اسمه على حقل مثيل من النوع المعرف. لجذب المتغيرات المحلية التي تخالف القاعدة، تم اختباره تجميع يجب أن يتم إنشاؤها مع معلومات تصحيح الأخطاء ويجب أن يتوفر ملف قاعدة بيانات (.pdb) البرنامج المقترن.

وصف القاعدة

عندما تطابق اسم حقل مثيل معلمة أو اسم متغير محلي، حقل مثيل هو الوصول باستخدام الكلمة أساسى this(Meفي Vهوual أساسى) عند داخل نص الأسلوب. مع الاحتفاظ بالتعليمات البرمجية، فإنه هو السهل نسيان th هو الفرق وتفترض أن متغير محلي/المعلمه يشير إلى حقل مثيل، وتسبب أخطاء. Th هو هو صحيحاً خاصة لنصوص أساسية للأسلوب تستغرق وقتاً طويلاً.

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

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

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

لا بمنع تحذير من هذه قاعدة.

مثال

يلي مثال تظهر انتهاكات الثاني من قاعدة.

Imports System

Namespace MaintainabilityLibrary

   Class MatchingNames

      Dim someField As Integer

      Sub SomeMethodOne(someField As Integer)
      End Sub

      Sub SomeMethodTwo()
         Dim someField As Integer
      End Sub

   End Class

End Namespace
using System;

namespace MaintainabilityLibrary
{
   class MatchingNames
   {
      int someField;

      void SomeMethodOne(int someField) {}

      void SomeMethodTwo()
      {
         int someField;
      }
   }
}