/// <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.