Maison > développement back-end > C++ > Comment ajouter des attributs de validation aux propriétés d'exécution en C# ?

Comment ajouter des attributs de validation aux propriétés d'exécution en C# ?

Patricia Arquette
Libérer: 2025-01-03 15:58:39
original
511 Les gens l'ont consulté

How to Add Validation Attributes to Runtime Properties in C#?

Ajout d'attributs aux propriétés d'exécution

Lors de votre tentative d'ajout d'un attribut de validation à une propriété au moment de l'exécution, vous avez rencontré une exception indiquant "La collection était d'une valeur fixe taille." Pour résoudre ce problème, considérez ce qui suit :

Le code que vous avez fourni implique l'appel de la méthode FillAttributes. Cependant, cette méthode particulière attend un tableau d’attributs comme argument, et non un seul attribut. Pour remédier à cela, vous devez modifier votre code pour passer un tableau contenant l'attribut souhaité :

// Create an array of attributes
var attributes = new ValidationAttribute[] { attribute };

// Invoke FillAttribute method
methodInfo.Invoke(propDesc, new object[] { attributes });
Copier après la connexion

Alternativement, vous pouvez contourner entièrement la méthode FillAttributes et affecter directement l'attribut au descripteur de propriété :

// Assign attribute to property descriptor
propDesc.Attributes = new Attribute[] { new RequiredAttribute() };
Copier après la connexion

En fonction du scénario spécifique et de vos préférences de conception, l'ensemble de ces approches devrait vous permettre d'ajouter des attributs aux propriétés au moment de l'exécution sans rencontrer le problème Exception « La collection était d'une taille fixe ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal