假设我有一个如下定义的属性:
[SomeAttriubte("#1")]
public SomeClass Property1 { get; set; }
[SomeAttribute("#2")]
public SomeClass Property2 { get; set; }
SomeClass 定义是这样的:
public class SomeClass
{
private void PrivateMethod()
{
//Some action
}
}
有没有办法在定义类型类中的 PrivateMethod 中读取 SomeAttribute 参数值?
答案 0 :(得分:2)
没有。您使用的属性与属性相关联。为了能够访问它们,SomeClass.PrivateMethod()
需要知道它所使用的属性的PropertyInfo
。但它不能。为了更加“清晰”:一个类型不知道它在哪里“使用”,并且不知道它在哪里使用它,它不能访问连接到“where”它所使用的地方的属性(在同一个地方)它无法访问“使用它的地方”的this
的方式