0

有没有办法使用属性设置属性值?在视图模型中,我有一个属性:

public bool HasAccess{get;set;} 

并想做这样的事情:

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

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

4

1 回答 1

2

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

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

于 2012-04-25T01:41:05.520 回答