public static string GetFullMemberName(this IMemberDefinition self, ILanguage language)
 {
     if (self as TypeDefinition != null || self as FieldDefinition != null)
     {
         return(GenericHelper.ReplaceInvalidCharactersName(language, self.get_Name()));
     }
     if (self as EventDefinition != null)
     {
         V_0 = self as EventDefinition;
         if (!V_0.IsExplicitImplementation())
         {
             return(GenericHelper.ReplaceInvalidCharactersName(language, self.get_Name()));
         }
         stackVariable85    = V_0.get_Name();
         stackVariable87    = new Char[1];
         stackVariable87[0] = '.';
         V_1 = stackVariable85.Split(stackVariable87);
         V_2 = new StringBuilder((int)V_1.Length * 2);
         V_3 = 0;
         while (V_3 < (int)V_1.Length)
         {
             V_4       = V_1[V_3];
             dummyVar0 = V_2.Append(GenericHelper.ReplaceInvalidCharactersName(language, V_4));
             if (V_3 < (int)V_1.Length - 1)
             {
                 dummyVar1 = V_2.Append(".");
             }
             V_3 = V_3 + 1;
         }
         return(V_2.ToString());
     }
     if (self as MethodDefinition != null)
     {
         return((self as MethodDefinition).GetFriendlyFullMethodReferenceName(language, self.get_Name(), false));
     }
     if (self as PropertyDefinition == null)
     {
         throw new Exception("Invalid member definition type.");
     }
     V_5 = self as PropertyDefinition;
     if (!V_5.IsExplicitImplementation())
     {
         return((self as PropertyDefinition).GetFriendlyFullPropertyDefinitionName(language, self.get_Name()));
     }
     stackVariable27    = V_5.get_Name();
     stackVariable29    = new Char[1];
     stackVariable29[0] = '.';
     V_6 = stackVariable27.Split(stackVariable29);
     V_7 = new StringBuilder((int)V_6.Length * 2);
     V_8 = 0;
     while (V_8 < (int)V_6.Length)
     {
         V_9       = V_6[V_8];
         dummyVar2 = V_7.Append(GenericHelper.ReplaceInvalidCharactersName(language, V_9));
         if (V_8 < (int)V_6.Length - 1)
         {
             dummyVar3 = V_7.Append(".");
         }
         V_8 = V_8 + 1;
     }
     dummyVar4 = V_7.Append("()");
     return(V_7.ToString());
 }