>백엔드 개발 >C++ >C#의 런타임 속성에 유효성 검사 특성을 추가하는 방법은 무엇입니까?

C#의 런타임 속성에 유효성 검사 특성을 추가하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-03 15:58:39515검색

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

런타임 속성에 속성 추가

런타임 시 속성에 유효성 검사 속성을 추가하려고 시도하는 동안 "컬렉션이 수정되었습니다"라는 예외가 발생했습니다. 크기." 이 문제를 해결하려면 다음을 고려하십시오.

제공한 코드에는 FillAttributes 메서드 호출이 포함됩니다. 그러나 이 특정 메소드는 단일 속성이 아닌 속성 배열을 인수로 예상합니다. 이 문제를 해결하려면 원하는 속성이 포함된 배열을 전달하도록 코드를 수정해야 합니다.

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

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

또는 FillAttributes 메서드를 완전히 우회하고 해당 속성을 속성 설명자에 직접 할당할 수도 있습니다.

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

특정 시나리오와 디자인 선호도에 따라 이러한 접근 방식을 사용하면 런타임 시 문제를 겪지 않고 속성에 속성을 추가할 수 있습니다. "컬렉션의 크기가 고정되어 있습니다." 예외.

위 내용은 C#의 런타임 속성에 유효성 검사 특성을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.