使用属性设置bool属性

时间:2012-04-24 23:16:41

标签: c# attributes

有没有办法使用属性设置属性值?在View Model中我有一个问题:

public bool HasAccess{get;set;} 

并希望做到这样的事情:

[MyAttribute]
public bool HasAccess{get;set;}

MyAttribute应该设置HasAccess的值。我的问题是如何构建MyAttribute到我将把HasAccess的值设置为属性中赋予它的值。

1 个答案:

答案 0 :(得分:2)

属性与类型相关联。你可以通过Type.GetProperty()和PropertyInfo.GetCustomAttributes()找到这个。这无助于您设置对象的属性值。除非HasAccess是静态的,否则它看起来不是。或者换句话说,您将无法为PropertyInfo.SetValue()的第一个参数提供值。

如果您已经有对象引用,那么它不是问题,请使用其GetType()方法并将对象传递给SetValue。但那是其他地方的代码,而不是属性类。