Réponse acceptée !
L'attribut n'est pas executé. je pense que tu n'as pas bien compris ce que sont les attributs en fait.
L'attribut permet simplement d'associer des métadonnées a la portion de code sur laquelle il porte. Ainsi, ton code exemple ne fais qu'appliquer la métadonnée "mymethod possède en tant que métadonnées, dans le code compilé, une instance de customattribute, ne contenant pas d'autre data que le simple fait que cet attribut est présent".
Ainsi, cest uniquement du code personnalisé qui va te permettre de réagir a la présence ou non de ton attribut (et de traiter les données potentielles de ton attribut). Ton seul moyen de faire qqch de cet attribut est d'avoir a un endroit, une méthode personnalisée, qui recherche les méthodes portant cet attribut par réflexion, et d'executer un code perso.
Typiquement, lorsque tu va, par exemple, mettre l'attribut "category" sur une propriété d'un objet graphique, cela ne fait qu'indiquer qu'une category existe sur ta propriété. si tu veux l'utiliser libre a toi. cependant, l'objet utilisé par le designer (et que tu peux utiliser par ailleurs) qui affiche les propriétés de ton objet se sert de cette propriété. tout simplement, lorsque le tableau des propriétés est chargé, il a une méhtode qui dit "je cherche les propriétés possédant l'attribut category, et je range mes propriétés en fonction de ceci dans mon affichage". mais cest tout.
bref, tes custom attributes ne te permettent que d'avoir des métadonnées utiles pour la reflexion