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
Type of parameter '<parametername>' is not CLS-compliant
Una routine è contrassegnata come <CLSCompliant(True)> ma dichiara una parametro con un tipo contrassegnato come <CLSCompliant(False)> o non contrassegnato, oppure non qualifica perché si tratta di un tipo non compatibile.
Per rendere compatibile una routine con Specifiche CLS (Common Language Specification) (CLS), è necessario utilizzare solo tipi CLS compatibili. Questa regola è valida per i tipi dei parametri, il tipo restituito e i tipi di tutte le relative variabili locali.
I seguenti tipi di dati Visual Basic non sono compatibili con CLS:
Quando si applica l'CLSCompliantAttribute 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 CLSCompliantAttribute non viene applicato a un elemento, 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: BC40028
Per correggere l'errore
Se la routine deve accettare un parametro di questo particolare tipo, rimuovere CLSCompliantAttribute. La routine non può essere compatibile con CLS.
Se la routine deve essere compatibile con CLS, sostituire il tipo di questo parametro con il tipo CLS compatibile più simile. Al posto di UInteger ad esempio potrebbe essere possibile utilizzare Integer se non è necessario l'intervallo di valore al di sopra di 2.147.483.647. Se è necessario l'intervallo esteso, è possibile sostituire UInteger con Long.
Se si prevede l'interazione con oggetti COM o di automazione, tenere presente che altri tipi presentano un'ampiezza di dati diversi da .NET Framework. int, ad esempio, è spesso a 16 bit. Se si accetta un valore integer a 16 bit da un componente di questo tipo, è necessario eseguirne la dichiarazione come Short anzichè come Integer nel codice Visual Basic gestito.