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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-01 00:13:10191검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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