> 백엔드 개발 > C++ > 어셈블리 로드 후 특성 속성을 동적으로 변경할 수 있습니까?

어셈블리 로드 후 특성 속성을 동적으로 변경할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2025-01-01 00:13:10
원래의
180명이 탐색했습니다.

Can You Dynamically Change Attribute Properties After Assembly Load?

속성 속성 동적으로 수정

어셈블리가 로드된 후 속성 매개변수를 변경할 수 있습니까? 다음 클래스를 고려하세요.

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

타사 공급업체 클래스임에도 불구하고(코드 수정 금지) 인스턴스를 속성 그리드에 바인딩할 때 "change me" 범주 이름을 수정하려고 합니다.

해결책:

속성 인스턴스 값은 런타임 시 동적으로 수정될 수 있습니다. 속성 인스턴스 얻기:

ASCII[] attrs1 = (ASCII[])typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
로그인 후 복사

공용 변수 수정:

attrs1[0].MyData = "A New String";
로그인 후 복사

변경 사항을 보여주기 위해 다른 인스턴스 만들기:

ASCII[] attrs3 = (ASCII[])typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
MessageBox.Show(attrs3[0].MyData);
로그인 후 복사

참조: http:/ /www.vsj.co.uk/articles/display.asp?id=713

위 내용은 어셈블리 로드 후 특성 속성을 동적으로 변경할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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