29 lines
616 B
C#
29 lines
616 B
C#
|
using System;
|
||
|
using System.Reflection;
|
||
|
|
||
|
[AttributeUsage (AttributeTargets.All)]
|
||
|
public class My : Attribute {
|
||
|
public object o;
|
||
|
|
||
|
public My (object o) {
|
||
|
this.o = o;
|
||
|
}
|
||
|
|
||
|
[My(TypeCode.Empty)]
|
||
|
public class Test {
|
||
|
public static int Main() {
|
||
|
System.Reflection.MemberInfo info = typeof (Test);
|
||
|
object[] attributes = info.GetCustomAttributes (false);
|
||
|
for (int i = 0; i < attributes.Length; i ++) {
|
||
|
System.Console.WriteLine(attributes[i]);
|
||
|
}
|
||
|
if (attributes.Length != 1)
|
||
|
return 1;
|
||
|
My attr = (My) attributes [0];
|
||
|
if ((TypeCode) attr.o != TypeCode.Empty)
|
||
|
return 2;
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
}
|