动态修改属性
加载程序集后是否可以更改属性参数?考虑以下类:
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中文网其他相关文章!