internal CustomAttributeTypedArgument(RuntimeModule scope, CustomAttributeEncodedArgument encodedArg) { CustomAttributeEncoding encodedType = encodedArg.CustomAttributeType.EncodedType; switch (encodedType) { case CustomAttributeEncoding.Undefined: throw new ArgumentException("encodedArg"); case CustomAttributeEncoding.Enum: RuntimeModule scope1 = scope; CustomAttributeType customAttributeType = encodedArg.CustomAttributeType; string enumName = customAttributeType.EnumName; this.m_argumentType = (Type)CustomAttributeTypedArgument.ResolveType(scope1, enumName); long primitiveValue = encodedArg.PrimitiveValue; customAttributeType = encodedArg.CustomAttributeType; int num = (int)customAttributeType.EncodedEnumType; this.m_value = CustomAttributeTypedArgument.EncodedValueToRawValue(primitiveValue, (CustomAttributeEncoding)num); break; case CustomAttributeEncoding.String: this.m_argumentType = typeof(string); this.m_value = (object)encodedArg.StringValue; break; case CustomAttributeEncoding.Type: this.m_argumentType = typeof(Type); this.m_value = (object)null; if (encodedArg.StringValue == null) { break; } this.m_value = (object)CustomAttributeTypedArgument.ResolveType(scope, encodedArg.StringValue); break; case CustomAttributeEncoding.Array: CustomAttributeEncoding encodedArrayType = encodedArg.CustomAttributeType.EncodedArrayType; this.m_argumentType = (encodedArrayType != CustomAttributeEncoding.Enum ? CustomAttributeTypedArgument.CustomAttributeEncodingToType(encodedArrayType) : (Type)CustomAttributeTypedArgument.ResolveType(scope, encodedArg.CustomAttributeType.EnumName)).MakeArrayType(); if (encodedArg.ArrayValue == null) { this.m_value = (object)null; break; } CustomAttributeTypedArgument[] array = new CustomAttributeTypedArgument[encodedArg.ArrayValue.Length]; for (int index = 0; index < array.Length; ++index) { array[index] = new CustomAttributeTypedArgument(scope, encodedArg.ArrayValue[index]); } this.m_value = (object)Array.AsReadOnly <CustomAttributeTypedArgument>(array); break; default: this.m_argumentType = CustomAttributeTypedArgument.CustomAttributeEncodingToType(encodedType); this.m_value = CustomAttributeTypedArgument.EncodedValueToRawValue(encodedArg.PrimitiveValue, encodedType); break; } }
public CustomAttributeNamedParameter(string argumentName, CustomAttributeEncoding fieldOrProperty, CustomAttributeType type) { if (argumentName == null) { throw new ArgumentNullException("argumentName"); } this.m_argumentName = argumentName; this.m_fieldOrProperty = fieldOrProperty; this.m_padding = fieldOrProperty; this.m_type = type; this.m_encodedArgument = new CustomAttributeEncodedArgument(); }
public CustomAttributeCtorParameter(CustomAttributeType type) { this.m_type = type; this.m_encodedArgument = new System.Reflection.CustomAttributeEncodedArgument(); }
public CustomAttributeCtorParameter(CustomAttributeType type) { m_type = type; m_encodedArgument = new CustomAttributeEncodedArgument(); }
public CustomAttributeNamedParameter(string argumentName, CustomAttributeEncoding fieldOrProperty, CustomAttributeType type) { if (argumentName == null) throw new ArgumentNullException(nameof(argumentName)); Contract.EndContractBlock(); m_argumentName = argumentName; m_fieldOrProperty = fieldOrProperty; m_padding = fieldOrProperty; m_type = type; m_encodedArgument = new CustomAttributeEncodedArgument(); }
public CustomAttributeCtorParameter(CustomAttributeType type) { this.m_type = type; this.m_encodedArgument = new CustomAttributeEncodedArgument(); }