首页 > 后端开发 > C++ > 可以动态修改 .NET 运行时属性吗?

可以动态修改 .NET 运行时属性吗?

Susan Sarandon
发布: 2025-01-04 04:22:38
原创
384 人浏览过

Can You Modify .NET Runtime Attributes Dynamically?

运行时属性自定义

在开发过程中,尽管第三方供应商施加了限制,但仍会出现需要在运行时修改属性的情况。考虑一个具有如下属性的类:

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板