Tu pourrais utiliser le préfixe "@" pour indiquer une chaine verbatim :
SB.Append("String FinalString = @\"" + DataString + "\";");
Cela dit, si la chaine contient des guillemets, tu auras le même problème...
Une façon plus propre serait d'utiliser CodePrimitiveExpression :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| ...
SB.Append("String FinalString =\"" + FormatCodePrimitive(provider, DataString) + "\";");
...
string FormatCodePrimitive(CodeDomProvider provider, object value)
{
var expression = new CodePrimitiveExpression(value);
using (var writer = new StringWriter())
{
provider.GenerateCodeFromExpression(expr, writer, null);
return writer.ToString();
}
} |
Partager