我有这个自定义属性:
[AttributeUsage(AttributeTargets.Method, AllowMultiple=false, Inherited = true)]
class MethodTestingAttibute : Attribute
{
public string Value{ get; private set; }
public MethodTestingAttibute (string value)
{
this.Value= value;
}
}
要这样使用:
[MethodTestingAttibute("2")]
public int m1() {return 3; }
我的困难是取
MethodTestingAttibute
的“2”值object result = method.Invoke(obj, new Type[] {}); // here i get the return
现在,我想将此结果与
MethodTestingAttibute
的值进行比较。我怎样才能做到这一点?我正在尝试走这条路,但没有成功:method.GetCustomAttributes(typeof(MethodTestAttibute), true)[0]...
什么是访问自定义属性字段的正确方法?
最佳答案
var attribute =
(MethodTestingAttibute)
typeof (Vehicles)
.GetMethod("m1")
.GetCustomAttributes(typeof (MethodTestingAttibute), false).First();
Console.WriteLine(attribute.Value);
关于c# - 访问自定义属性的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6538366/