76 if ((
Attributes & ParameterAttributes.HasDefault) != 0)
77 return Module.ConstantTable.GetRawConstantValue(Module,
MetadataToken);
79 var universe = Module.Universe;
82 var attr = universe.System_Runtime_CompilerServices_DecimalConstantAttribute;
85 foreach (var cad
in CustomAttributeData.__GetCustomAttributes(
this, attr,
false))
87 var args = cad.ConstructorArguments;
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)
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);
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)
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);
111 if ((
Attributes & ParameterAttributes.Optional) != 0)
112 return Missing.Value;