Beispiel #1
0
        /// <summary>
        /// Returns text escaped as CSharp code. Handles special characters.
        /// </summary>
        public static string EscapeCSharpString(string text)
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append("\"");
            var textList = UtilFramework.SplitChunk(text); // Because of line break after 80 characters!

            using (var writer = new StringWriter(CultureInfo.InvariantCulture))
            {
                using var provider = CodeDomProvider.CreateProvider("CSharp");
                foreach (var item in textList)
                {
                    provider.GenerateCodeFromExpression(new CodePrimitiveExpression(item), writer, null); // Does a line break after 80 characters by default!
                    string textCSharp = writer.ToString();
                    UtilFramework.Assert(textCSharp.StartsWith("\""));
                    UtilFramework.Assert(textCSharp.EndsWith("\""));
                    textCSharp = textCSharp[1..^ 1];   // Remove quotation marks.