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
Messaggio di errore
La versione personalizzata di 'System.Runtime.CompilerServices.ExtensionAttribute' trovata dal compilatore non è valida. I flag di utilizzo di un attributo devono essere impostati per consentire assembly, classi e metodi.
The custom-designed version of 'System.Runtime.CompilerServices.ExtensionAttribute' found by the compiler is not valid. Its attribute usage flags must be set to allow assemblies, classes, and methods.
La versione personalizzata di System.Runtime.CompilerServices.ExtensionAttribute trovata dal compilatore non imposta i flag di utilizzo di un attributo in modo da consentire l'applicazione dell'attributo a assembly, metodi e classi. È necessaria l'applicazione ad almeno questi tre elementi del programma.
ID errore: BC36558
Per correggere l'errore
Modificare la definizione dell'attributo per consentirne l'applicazione almeno ad assembly, metodi e classi, come illustrato negli esempi seguenti.
Utilizzare System.Runtime.CompilerServices.ExtensionAttribute anziché la versione personalizzata.
Esempio
Nell'esempio seguente viene utilizzato l'attributo AttributeUsage per specificare a quali elementi del programma può venire applicata la nuova versione di ExtensionAttribute. Nell'esempio vengono specificati tre membri dell'enumerazione AttributeTargets: Assembly, Classe Method. L'omissione di uno qualsiasi di questi elementi determina questo errore.
Namespace System.Runtime.CompilerServices
<AttributeUsage(AttributeTargets.Assembly Or _
AttributeTargets.Class Or AttributeTargets.Method)>
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace
In alternativa, è possibile consentire l'applicazione di ExtensionAttribute a tutti gli elementi del programma utilizzando il membro All di AttributeTargets.
<AttributeUsage(AttributeTargets.All)>
L'eliminazione della riga AttributeUsage produce lo stesso risultato, come mostrato nel codice seguente.
Namespace System.Runtime.CompilerServices
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace
Vedere anche
Attività
Procedura: definire attributi personalizzati
Concetti
Cenni preliminari sugli attributi in Visual Basic
Metodi di estensione (Visual Basic)
Scrittura di attributi personalizzati