Heim > Backend-Entwicklung > C++ > Wie füge ich Validierungsattribute zu Laufzeiteigenschaften in C# hinzu?

Wie füge ich Validierungsattribute zu Laufzeiteigenschaften in C# hinzu?

Patricia Arquette
Freigeben: 2025-01-03 15:58:39
Original
550 Leute haben es durchsucht

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

Attribute zu Laufzeiteigenschaften hinzufügen

Bei Ihrem Versuch, einer Eigenschaft zur Laufzeit ein Validierungsattribut hinzuzufügen, sind Sie auf eine Ausnahme gestoßen, die besagt: „Die Sammlung war von einer festen Größe." Um dieses Problem zu beheben, berücksichtigen Sie Folgendes:

Der von Ihnen bereitgestellte Code beinhaltet den Aufruf der FillAttributes-Methode. Diese spezielle Methode erwartet jedoch als Argument ein Array von Attributen und nicht ein einzelnes Attribut. Um dies zu beheben, sollten Sie Ihren Code so ändern, dass er ein Array mit dem gewünschten Attribut übergibt:

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

// Invoke FillAttribute method
methodInfo.Invoke(propDesc, new object[] { attributes });
Nach dem Login kopieren

Alternativ können Sie die FillAttributes-Methode vollständig umgehen und das Attribut direkt dem Eigenschaftsdeskriptor zuweisen:

// Assign attribute to property descriptor
propDesc.Attributes = new Attribute[] { new RequiredAttribute() };
Nach dem Login kopieren

Abhängig vom spezifischen Szenario und Ihren Designpräferenzen sollte es Ihnen jeder dieser Ansätze ermöglichen, zur Laufzeit Attribute zu Eigenschaften hinzuzufügen, ohne dass die Meldung „Die Sammlung war fest“ auftritt „Größe“ Ausnahme.

Das obige ist der detaillierte Inhalt vonWie füge ich Validierungsattribute zu Laufzeiteigenschaften in C# hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage