La version personnalisée de 'System.Runtime.CompilerServices.ExtensionAttribute' trouvée par le compilateur n'est pas valide
Mise à jour : novembre 2007
Message d'erreur
La version personnalisée de 'System.Runtime.CompilerServices.ExtensionAttribute' trouvée par le compilateur n'est pas valide. Ses indicateurs d'utilisation de l'attribut doivent être configurés pour autoriser des assemblys, des classes et des méthodes.
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 version de System.Runtime.CompilerServices.ExtensionAttribute fabriquée sur commande et recherchée par le compilateur ne définit pas son utilisation d'attributs pour permettre l'application des attributs aux assemblys, aux méthodes et aux classes. L'application à ces trois éléments de programme au moins est requise.
ID d'erreur : BC36558
Pour corriger cette erreur
Modifiez la définition d'attribut pour activer l'attribut à appliquer au moins aux assemblys, aux méthodes et aux classes, comme illustré aux exemples suivants.
Utilisez System.Runtime.CompilerServices.ExtensionAttribute au lieu de la version fabriquée sur commande.
Exemple
L'exemple suivant utilise l'attribut AttributeUsage pour spécifier les éléments de programme à appliquer à la nouvelle version d' ExtensionAttribute. L'exemple spécifie trois membres de l'énumération AttributeTargets : Assembly, Classet Method. L'omission de l'un de ces éléments provoquera cette erreur.
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
Vous pouvez également autoriser l'ExtensionAttribute à appliquer à tous les éléments de programme en utilisant le membre All de AttributeTargets.
<AttributeUsage(AttributeTargets.All)>
Le fait la ligne AttributeUsage, comme indiqué dans le code suivant, produit le même résultat.
Namespace System.Runtime.CompilerServices
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace
Voir aussi
Tâches
Comment : définir vos propres attributs
Concepts
Vue d'ensemble des attributs dans Visual Basic
Méthodes d'extension (Visual Basic)
Écriture des attributs personnalisés