118 votes

Puis-je initialiser un attribut C# avec un tableau ou un autre nombre variable d'arguments ?

Est-il possible de créer un attribut qui peut être initialisé avec un nombre variable d'arguments ?

Par exemple :

[MyCustomAttribute(new int[3,4,5])]  // this doesn't work
public MyClass ...

2voto

TBrink Points 21

Pour revenir sur la réponse de Marc Gravell, oui vous pouvez définir un attribut avec des paramètres de tableau mais l'application d'un attribut avec un paramètre de tableau n'est pas conforme à CLS. En revanche, la simple définition d'un attribut avec une propriété de tableau est parfaitement conforme à la norme CLS.

Ce qui m'a fait réaliser cela, c'est que Json.NET, une bibliothèque conforme à CLS, possède une classe d'attribut JsonPropertyAttribute avec une propriété nommée ItemConverterParameters qui est un tableau d'objets.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X