Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
<proceduresignature1> is not CLS-compliant because it overloads <proceduresignature2> which differs from it only by array of array parameter types or by the rank of the array parameter types
Una routine o proprietà è contrassegnata come <CLSCompliant(True)> quando esegue l'override di un'altra routine o proprietà e l'unica differenza tra gli elenchi dei parametri sta nel livello di nidificazione di una matrice irregolare o nel numero di dimensioni di una matrice.
Nel seguente elenco, l'errore viene generato dalla seconda e dalla terza dichiarazione.
Overloads Sub processArray(ByVal arrayParam() As Integer)
Overloads Sub processArray(ByVal arrayParam()() As Integer)
Overloads Sub processArray(ByVal arrayParam(,) As Integer)
La seconda dichiarazione modifica il parametro unidimensionale originario arrayParam in una matrice di matrici. La terza dichiarazione modifica arrayParam in una matrice bidimensionale (2 dimensioni). Mentre Visual Basic consente che la differenza tra overload consista solo in una di queste modifiche, questo tipo di overload non è compatibile con CLS (Specifiche CLS (Common Language Specification)).
Quando CLSCompliantAttribute viene applicato a un elemento di programmazione, il parametro isCompliant dell'attributo viene impostato su True o False per indicare la compatibilità o la non compatibilità. L'impostazione predefinita per questo parametro non è disponibile, è necessario quindi specificare un valore.
Se a un elemento non viene applicato CLSCompliantAttribute, l'elemento non sarà considerato compatibile.
Per impostazione predefinita, si tratta di un messaggio di avviso. Per informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configurazione degli avvisi in Visual Basic.
ID errore: BC40035
Per correggere l'errore
Se si desidera la compatibilità con CLS, definire tra gli overload altre differenze rispetto a quelle elencate in questa pagina della Guida in linea.
Se si desidera che le differenze tra gli overload consistano solo nelle modifiche elencate in questa pagina della Guida in linea, rimuovere l'oggetto CLSCompliantAttribute dalle definizioni o contrassegnare gli overload come <CLSCompliant(False)>.
Vedere anche
Concetti
Scrittura di codice compatibile con CLS