Estoy ejecutando string.Format
en una cadena de solo lectura que contiene un poco de HTML + javascript pero obtengo un System.FormatException
en su lugar.string.Format lanza la excepción System.Format en HTML + javascript
Ésta es mi formato de cadena:
<script type="text/javascript">
function {0}_showHideFieldWindow() {
if ({0}.IsCustomizationWindowVisible()) {
{0}.HideCustomizationWindow();
} else {
{0}.ShowCustomizationWindow();
}
}
</script>
todo lo que estoy haciendo está pasando en el nombre del objeto. De esta manera:
string.Format(javascript, "grid");
Sólo por curiosidad, no es el carácter de escape estándar en C# una barra invertida (\\)? Es decir, ¿no deberían escaparse las llaves con "\ {\}" en lugar de "{{}}"? Entiendo que las llaves dobles funcionan, pero ¿es la mejor práctica? –
Como está usando el símbolo @ antes de la cadena, una barra invertida se interpretará literalmente como una barra invertida, por lo que no se escaparía nada –
John está en lo cierto, ya que es una cadena literal hay algunos escapes que puedes hacer y todos implican doblando el carácter (es decir, {se convierte en {{, "se convierte en" ", etc.). –