gpt4 book ai didi

c# - 动态删除属性的 C# 属性

转载 作者:可可西里 更新时间:2023-11-01 09:07:48 24 4
gpt4 key购买 nike

我有一个具有一组属性的类,如下所示。

class ContactInfo
{
[ReadOnly(true)]
[Category("Contact Info")]
public string Mobile { get; set; }

[Category("Contact Info")]
public string Name{ get; set; }
}

这个类的对象被分配给一个属性网格,这样用户就可以更新一个现有的联系人。您可以看到 Mobile 被标记为只读。

但是,当我想添加一个全新的联系人时,我希望用户也能够编辑联系人手机。为此,在将对象分配给属性网格之前,我需要从类型中动态删除 Readonly 属性。可能吗?

最佳答案

您不能在运行时删除属性,但可以使用反射将 ReadOnly 属性的 ReadOnly 私有(private)支持字段更改为 False。使其等同于 [ReadOnly(false)]

详情请看这篇文章:

http://codinglight.blogspot.com/2008/10/changing-attribute-parameters-at.html

编辑:固定链接

关于c# - 动态删除属性的 C# 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com