3 namespace ObjCRuntime {
5 public enum Platform : ulong {
7 iOS_2_0 = 0x0000000000020000,
8 iOS_2_2 = 0x0000000000020200,
9 iOS_3_0 = 0x0000000000030000,
10 iOS_3_1 = 0x0000000000030100,
11 iOS_3_2 = 0x0000000000030200,
12 iOS_4_0 = 0x0000000000040000,
13 iOS_4_1 = 0x0000000000040100,
14 iOS_4_2 = 0x0000000000040200,
15 iOS_4_3 = 0x0000000000040300,
16 iOS_5_0 = 0x0000000000050000,
17 iOS_5_1 = 0x0000000000050100,
18 iOS_6_0 = 0x0000000000060000,
19 iOS_6_1 = 0x0000000000060100,
20 iOS_7_0 = 0x0000000000070000,
21 iOS_7_1 = 0x0000000000070100,
22 iOS_8_0 = 0x0000000000080000,
23 iOS_8_1 = 0x0000000000080100,
24 iOS_8_2 = 0x0000000000080200,
25 iOS_8_3 = 0x0000000000080300,
26 Mac_10_0 = 0x000A000000000000,
27 Mac_10_1 = 0x000A010000000000,
28 Mac_10_2 = 0x000A020000000000,
29 Mac_10_3 = 0x000A030000000000,
30 Mac_10_4 = 0x000A040000000000,
31 Mac_10_5 = 0x000A050000000000,
32 Mac_10_6 = 0x000A060000000000,
33 Mac_10_7 = 0x000A070000000000,
34 Mac_10_8 = 0x000A080000000000,
35 Mac_10_9 = 0x000A090000000000,
36 Mac_10_10 = 0x000A0A0000000000,
37 iOS_Version = 0x0000000000FFFFFF,
38 Mac_Version = 0x00FFFFFF00000000,
39 Mac_Arch32 = 0x0100000000000000,
40 Mac_Arch64 = 0x0200000000000000,
41 Mac_Arch = 0xFF00000000000000,
42 iOS_Arch32 = 0x0000000001000000,
43 iOS_Arch64 = 0x0000000002000000,
44 iOS_Arch = 0x00000000FF000000
47 namespace MyNamespace {
53 public class MyFlagEnumAttribute : Attribute {
54 public Platform Enum {get;set;}
55 public MyFlagEnumAttribute(){}
56 public MyFlagEnumAttribute (Platform value) {
60 public class MyEnumAttribute : Attribute {
61 public MyEnum Enum {get;set;}
62 public MyEnumAttribute(){}
63 public MyEnumAttribute (MyEnum value) {
67 public class MyClass {
68 [MyFlagEnum(value: Platform.None)]
69 public string None() { return string.Empty; }
70 [MyFlagEnum(value: Platform.Mac_10_8 | Platform.Mac_Arch64)]
71 public string MacMethod() { return string.Empty; }
72 [MyFlagEnum(value: Platform.iOS_Arch32 | Platform.iOS_4_2)]
73 public string iOSMethod() { return string.Empty; }
74 [MyEnum(value: MyEnum.One)]
75 public string RegularEnum() { return string.Empty; }
76 [MyEnum(value: (MyEnum)234234)]
77 public string UnknownEnumValue() { return string.Empty; }