런타임 속성 사용자 정의
개발 중에는 타사 공급업체가 부과한 제한에도 불구하고 런타임 중에 속성을 수정해야 하는 상황이 발생합니다. 다음과 같은 속성이 있는 클래스를 고려해보세요.
public class UserInfo { [Category("change me!")] public int Age { get; set; } [Category("change me!")] public string Name { get; set; } }
런타임에 인스턴스 수정
인식과 달리 속성 인스턴스는 런타임에 수정될 수 있습니다. 속성 인스턴스를 획득하면 다음과 같이 값을 수정할 수 있습니다.
ASCII[] attrs1 = (ASCII[]) typeof(MyClass).GetCustomAttributes(typeof(ASCII), false); attrs1[0].MyData = "A New String"; MessageBox.Show(attrs1[0].MyData);
변경되지 않은 속성 값 보존
속성 인스턴스를 검색하기 위한 후속 호출은 런타임 수정의 영향을 받지 않습니다.
ASCII[] attrs3 = (ASCII[]) typeof(MyClass).GetCustomAttributes(typeof(ASCII), false); MessageBox.Show(attrs3[0].MyData); // Original value
위 내용은 .NET 런타임 특성을 동적으로 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!