Ejemplo n.º 1
0
        static string CleanUpVariableName(string name)
        {
            // remove the backtick (generics)
            int pos = name.IndexOf('`');

            if (pos >= 0)
            {
                name = name.Substring(0, pos);
            }

            // remove field prefix:
            if (name.Length > 2 && name.StartsWith("m_", StringComparison.Ordinal))
            {
                name = name.Substring(2);
            }
            else if (name.Length > 1 && name[0] == '_' && (char.IsLetter(name[1]) || name[1] == '_'))
            {
                name = name.Substring(1);
            }

            if (TextWriterTokenWriter.ContainsNonPrintableIdentifierChar(name))
            {
                return(null);
            }

            if (name.Length == 0)
            {
                return("obj");
            }
            else
            {
                return(char.ToLower(name[0]) + name.Substring(1));
            }
        }