private void ProcessAnonymousType(TypeDefinition anonymousTypeDefinition, GenericInstanceType anonymousInstanceType, MethodDefinition constructorDefinition, ExpressionCollection constructorArguments)
 {
     V_0 = 0;
     while (V_0 < constructorDefinition.get_Parameters().get_Count())
     {
         V_1             = constructorDefinition.get_Parameters().get_Item(V_0);
         V_2             = anonymousTypeDefinition.get_GenericParameters().IndexOf(V_1.get_ParameterType() as GenericParameter);
         stackVariable19 = this.FindPropertyOfType(anonymousTypeDefinition, V_1.get_ParameterType());
         V_3             = anonymousInstanceType.get_GenericArguments().get_Item(V_2);
         if (anonymousInstanceType.get_PostionToArgument().ContainsKey(V_2))
         {
             V_3 = anonymousInstanceType.get_PostionToArgument().get_Item(V_2);
         }
         V_4 = new AnonymousPropertyInitializerExpression(stackVariable19, V_3);
         V_5 = this.GetParameterIndexWithType(constructorDefinition, V_1.get_ParameterType());
         V_6 = this.transformer.Visit(constructorArguments.get_Item(V_5).Clone()) as Expression;
         this.initializerExpressions.get_Expressions().Add(new BinaryExpression(26, V_4, V_6, this.typeSystem, null, false));
         V_0 = V_0 + 1;
     }
     return;
 }
コード例 #2
0
 private string AppendGenericArguments(GenericInstanceType generic, int startingIndex)
 {
     V_0       = new StringBuilder();
     dummyVar0 = V_0.Append('{');
     V_1       = startingIndex;
     while (V_1 < generic.get_GenericArguments().get_Count())
     {
         if (V_1 > startingIndex)
         {
             dummyVar1 = V_0.Append(',');
         }
         V_2       = generic.get_PostionToArgument().get_Item(V_1);
         dummyVar2 = V_0.Append(this.GetParameterTypeRepresentation(V_2));
         V_1       = V_1 + 1;
     }
     dummyVar3 = V_0.Append('}');
     return(V_0.ToString());
 }