203 {
204 if (
info.TypeCode == SerializationTypeCode.TaggedObject)
205 {
207 }
209 switch (
info.TypeCode)
210 {
211 case SerializationTypeCode.Boolean:
212 value = valueReader.ReadBoolean();
213 break;
214 case SerializationTypeCode.Byte:
215 value = valueReader.ReadByte();
216 break;
217 case SerializationTypeCode.Char:
218 value = valueReader.ReadChar();
219 break;
220 case SerializationTypeCode.Double:
221 value = valueReader.ReadDouble();
222 break;
223 case SerializationTypeCode.Int16:
224 value = valueReader.ReadInt16();
225 break;
226 case SerializationTypeCode.Int32:
227 value = valueReader.ReadInt32();
228 break;
229 case SerializationTypeCode.Int64:
230 value = valueReader.ReadInt64();
231 break;
232 case SerializationTypeCode.SByte:
233 value = valueReader.ReadSByte();
234 break;
235 case SerializationTypeCode.Single:
236 value = valueReader.ReadSingle();
237 break;
238 case SerializationTypeCode.UInt16:
239 value = valueReader.ReadUInt16();
240 break;
241 case SerializationTypeCode.UInt32:
242 value = valueReader.ReadUInt32();
243 break;
244 case SerializationTypeCode.UInt64:
245 value = valueReader.ReadUInt64();
246 break;
247 case SerializationTypeCode.String:
248 value = valueReader.ReadSerializedString();
249 break;
250 case SerializationTypeCode.Type:
251 {
252 string name = valueReader.ReadSerializedString();
254 break;
255 }
256 case SerializationTypeCode.SZArray:
258 break;
259 default:
260 throw new BadImageFormatException();
261 }
262 return new CustomAttributeTypedArgument<TType>(
info.Type,
value);
263 }