Die .NET-Klasse System.ComponentModel.DataAnnotations.ValidationContext verwendet bisher sogenannte „Unbound Reflection“ (Reflection auf einem Typ, der zur Compile-Zeit nicht bekannt ist), um bei dem zu validierenden Objekt die Annotation [DisplayName] zu suchen. Weiterlesen nach der Anzeige Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland. Das funktioniert aber nicht mit dem NativeAOT-Compiler. Bisher erschien eine Warnung beim Einsatz von ValidationContext bei Native AOT-Kompilierung (Abb. 1). Eine neue Überladung löst das Problem: Man kann nun den Displayname als Parameter beim Konstruktor angeben: var context = new ValidationContext(person, "PersonObjekt", null, null); Folgendes Codebeispiel zeigt den Einsatz von ValidationContext: Weiterlesen nach der Anzeige using System.ComponentModel.DataAnnotations; using ITVisions; namespace NET10_Console; internal class FCL10_ValidationContext { [Display(Name = "Personobjekt")] public class Person { [Range(1, Int32.MaxValue)] [Display(Name = "Person-ID")] public int ID { get; set; } [Required] [Display(Name = "Person-Name")] public string Name { get; set; } [Range(0, 120)] [Display(Name = "Person-Age")] public int Age { get; set; } } public void Run() { CUI.Demo(nameof(FCL10_ValidationContext)); var person = new Person { ID = 0, Name = "", Age = 150 }; // absichtlich ungültig //var context = new ValidationContext(person); // Dieser Konstruktor wird via Reflection [Display] suchen var context = new ValidationContext(person, "Person-Objekt", null, null); // Dieser neue Konstruktor funktioniert ...
First seen: 2026-07-24 08:17
Last seen: 2026-07-27 12:27