> 백엔드 개발 > C++ > C#에서 런타임에 특성 매개 변수 값을 동적으로 변경하려면 어떻게 해야 합니까?

C#에서 런타임에 특성 매개 변수 값을 동적으로 변경하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-30 01:27:18
원래의
828명이 탐색했습니다.

How Can I Dynamically Change Attribute Parameter Values at Runtime in C#?

속성 매개변수의 동적 수정

특정 시나리오에서는 보다 정확하거나 사용자 정의된 정보를 제공하기 위해 런타임 중에 속성 매개변수를 조정해야 할 수도 있습니다. . 다음 예를 고려해 보십시오.

public class UserInfo
{
    [Category("change me!")]
    public int Age
    {
        get;
        set;
    }
    [Category("change me!")]
    public string Name
    {
        get;
        set;
    }
}
로그인 후 복사

위와 같은 타사 클래스가 있고 해당 코드를 수정할 수 없다고 가정해 보겠습니다. 그러나 당신은 "나를 바꿔라!" 카테고리 이름이 정확하지 않아 동적으로 업데이트하고 싶습니다.

다행히도 리플렉션을 통해 속성 개체에 직접 액세스하여 런타임에 속성 인스턴스 값을 수정할 수 있습니다.

방법은 다음과 같습니다.

  1. 속성 검색 인스턴스:
ASCII[] attrs1 = (ASCII[])typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
로그인 후 복사
  1. 속성 인스턴스의 공용 변수 수정:
attrs1[0].MyData = "A New String";
로그인 후 복사
  1. 변경된 값 표시:
MessageBox.Show(attrs1[0].MyData);
로그인 후 복사
  1. 다른 인스턴스를 생성하여 변경 사항을 확인하세요. 지역:
ASCII[] attrs3 = (ASCII[])typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
MessageBox.Show(attrs3[0].MyData);
로그인 후 복사

위 내용은 C#에서 런타임에 특성 매개 변수 값을 동적으로 변경하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿