Exemplo n.º 1
0
 private void GetCustomAttributeNamedArguments(ExpressionList/*!*/ arguments, ushort numNamed, MemoryCursor/*!*/ sigReader)
 {
     for (int j = 0; j < numNamed; j++)
     {
         int nameTag = sigReader.ReadByte();
         bool mustBox = sigReader.Byte(0) == (byte)ElementType.BoxedEnum;
         TypeNode/*!*/ vType = this.ParseTypeSignature(sigReader);
         Identifier id = sigReader.ReadIdentifierFromSerString();
         object val = this.GetCustomAttributeLiteralValue(sigReader, ref vType);
         Literal lit = val as Literal;
         if (lit == null) lit = new Literal(val, vType);
         NamedArgument narg = new NamedArgument(id, lit);
         narg.Type = vType;
         narg.IsCustomAttributeProperty = nameTag == 0x54;
         narg.ValueIsBoxed = mustBox;
         arguments.Add(narg);
     }
 }