首页 >后端开发 >C++ >您可以在程序集加载后动态更改属性属性吗?

您可以在程序集加载后动态更改属性属性吗?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-01 00:13:10210浏览

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