مشاركة عبر


ca1040: تجنب الواجهات فارغ

TypeName

AvoidEmptyInterfaces

CheckId

ca1040

Category

Microsoft.تصميم

تعطيل تغيير

فصل

السبب

لا تقوم بتعريف أي الأعضاء الواجهة أو تطبيق أو أكثر البعض الواجهات.

وصف القاعدة

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

إذا كان تصميمك يتضمن واجهات الفارغ التي يتم توقع أنواع إلى تنفيذ، فمن المحتمل أن استخدام واجهة كعلامة أو طريقة لتعريف مجموعة من أنواع. إذا كان هذا التعريف يحدث في وقت التشغيل، بالطريقة الصحيحة إلى القيام بذلك هو إلى استخدام سمة cusإلىm. استخدم وجود أو غياب السمة أو خصائص السمة، إلى التعرف على أنواع الهدف. إذا كان يجب أن يكون التعريف في وقت الترجمة، ثم استخدام واجهة فارغ هو مقبولة.

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

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

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

هو آمن لمنع ظهور تحذير من القيم بالموضع هو قاعدة إذا الواجهة هو يستخدم لتعريف التعيين من أنواع وقت التحويل البرمجي.

مثال

يظهر المثال التالي واجهة فارغ.

Imports System     

Namespace Samples         

    Public Interface IBadInterface  ' Violates rule         
    End Interface     

End Namespace
using System;

namespace DesignLibrary
{
   public interface IBadInterface  // Violates rule
   {
   }
}
#include "stdafx.h"
using namespace System;

namespace Samples
{
    // Violates this rule
    public interface class IEmptyInterface    
    {    
    };
}