using System; struct S {} class A : Attribute { public A () { } public A (object value) { Value = (Type) value; } public Type Value { get; set; } } [A (Value = typeof (S*))] class TestProp { } [A (typeof (ushort**))] public class Test { public static int Main () { A a = (A)typeof (Test).GetCustomAttributes (false)[0]; if (a.Value != typeof (ushort**)) return 1; a = (A)typeof (TestProp).GetCustomAttributes (false)[0]; if (a.Value != typeof (S*)) return 2; return 0; } }