コード例 #1
0
 public static string GetGenericName(IGenericDefinition genericDefinition, string leftBracket, string rightBracket, ILanguage language)
 {
     V_0 = false;
     if (genericDefinition as MethodDefinition != null)
     {
         V_0 = ((MethodDefinition)genericDefinition).get_HasOverrides();
     }
     V_1 = GenericHelper.GetNonGenericName(genericDefinition.get_Name());
     if (!V_0)
     {
         if (genericDefinition as MethodDefinition == null)
         {
             stackVariable70 = false;
         }
         else
         {
             stackVariable70 = ((MethodDefinition)genericDefinition).get_IsConstructor();
         }
         if (!stackVariable70)
         {
             V_1 = GenericHelper.ReplaceInvalidCharactersName(language, V_1);
         }
     }
     if (genericDefinition.get_HasGenericParameters())
     {
         V_2 = 0;
         if (genericDefinition as TypeDefinition != null)
         {
             V_3 = (genericDefinition as TypeDefinition).get_DeclaringType();
             if (V_3 != null && V_3.get_HasGenericParameters())
             {
                 V_2 = V_3.get_GenericParameters().get_Count();
             }
         }
         if (V_2 < genericDefinition.get_GenericParameters().get_Count())
         {
             V_1 = String.Concat(V_1, leftBracket);
             while (V_2 < genericDefinition.get_GenericParameters().get_Count())
             {
                 V_4 = genericDefinition.get_GenericParameters().get_Item(V_2);
                 if (V_4.get_IsCovariant())
                 {
                     V_1 = String.Concat(V_1, "out ");
                 }
                 if (V_4.get_IsContravariant())
                 {
                     V_1 = String.Concat(V_1, "in ");
                 }
                 V_1 = String.Concat(V_1, GenericHelper.ReplaceInvalidCharactersName(language, V_4.get_Name()));
                 if (V_2 != genericDefinition.get_GenericParameters().get_Count() - 1)
                 {
                     V_1 = String.Concat(V_1, ", ");
                 }
                 V_2 = V_2 + 1;
             }
             V_1 = String.Concat(V_1, rightBracket);
         }
     }
     return(V_1);
 }