73 {
74 get
75 {
76 if ((
Attributes & ParameterAttributes.HasDefault) != 0)
78
79 var universe =
Module.Universe;
81 {
82 var attr = universe.System_Runtime_CompilerServices_DecimalConstantAttribute;
83 if (attr != null)
84 {
85 foreach (var cad in CustomAttributeData.__GetCustomAttributes(this, attr, false))
86 {
87 var args = cad.ConstructorArguments;
88 if (args.Count == 5)
89 {
90 if (args[0].ArgumentType == universe.System_Byte &&
91 args[1].ArgumentType == universe.System_Byte &&
92 args[2].ArgumentType == universe.System_Int32 &&
93 args[3].ArgumentType == universe.System_Int32 &&
94 args[4].ArgumentType == universe.System_Int32)
95 {
96 return new decimal((int)args[4].Value, (int)args[3].Value, (int)args[2].Value, (byte)args[1].Value != 0, (byte)args[0].Value);
97 }
98 else if (args[0].ArgumentType == universe.System_Byte &&
99 args[1].ArgumentType == universe.System_Byte &&
100 args[2].ArgumentType == universe.System_UInt32 &&
101 args[3].ArgumentType == universe.System_UInt32 &&
102 args[4].ArgumentType == universe.System_UInt32)
103 {
104 return new Decimal(unchecked((int)(uint)args[4].Value), unchecked((int)(uint)args[3].Value), unchecked((int)(uint)args[2].Value), (byte)args[1].Value != 0, (byte)args[0].Value);
105 }
106 }
107 }
108 }
109 }
110
111 if ((
Attributes & ParameterAttributes.Optional) != 0)
112 return Missing.Value;
113
114 return null;
115 }
116 }
override ParameterAttributes Attributes
override Type ParameterType