Contrassegnare gli assembly con CLSCompliantAttribute
Aggiornamento: novembre 2007
TypeName |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
Category |
Microsoft.Design |
Breaking Change |
Non sostanziale |
Causa
A un assembly non è applicato l'attributo System.CLSCompliantAttribute.
Descrizione della regola
In Common Language Specification (CLS) vengono definite limitazioni di denominazione, tipi di dati e regole che gli assembly devono rispettare per poter essere utilizzati tra diversi linguaggi di programmazione. In una buona programmazione tutti gli assembly devono indicare in modo esplicito la conformità CLS all'oggetto CLSCompliantAttribute. Se l'attributo non è presente su un assembly, tale assembly non è compatibile.
È possibile che un assembly compatibile con CLS contenga tipi o membri di tipi non compatibili.
Correzione di violazioni
Per correggere una violazione di questa regola, aggiungere l'attributo all'assembly. Anziché contrassegnare l'intero assembly come non compatibile, è opportuno determinare quali tipi o membri di tipi non sono compatibili e contrassegnarli come tali. Se possibile, è opportuno fornire un'alternativa compatibile con CLS per i membri non compatibili in modo che il maggior numero possibile di destinatari possa accedere a tutte le funzionalità dell'assembly.
Esclusione di avvisi
Non escludere un avviso da questa regola. Se non si desidera che l'assembly sia compatibile, applicare l'attributo e impostare il relativo valore su false.
Esempio
Nell'esempio riportato di seguito viene illustrato un assembly con l'attributo System.CLSCompliantAttribute applicato che lo dichiara come compatibile con CLS.
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}
Vedere anche
Concetti
Specifiche CLS (Common Language Specification)