public static PreProcessingDirective VBToCSharp(PreProcessingDirective dir)
        {
            string cmd = dir.Cmd.ToLower(CultureInfo.InvariantCulture);
            string arg = dir.Arg;

            switch (cmd)
            {
            case "#end":
                if (arg.ToLower(CultureInfo.InvariantCulture).StartsWith("region"))
                {
                    cmd = "#endregion";
                    arg = "";
                }
                break;
            }
            return(new PreProcessingDirective(cmd, arg, dir.StartPosition, dir.EndPosition));
        }
        public static PreProcessingDirective CSharpToVB(PreProcessingDirective dir)
        {
            string cmd = dir.Cmd;
            string arg = dir.Arg;

            switch (cmd)
            {
            case "#region":
                cmd = "#Region";
                if (!arg.StartsWith("\""))
                {
                    arg = "\"" + arg.Trim() + "\"";
                }
                break;

            case "#endregion":
                cmd = "#End";
                arg = "Region";
                break;
            }
            return(new PreProcessingDirective(cmd, arg, dir.StartPosition, dir.EndPosition));
        }