Sobreescribir bool

22/10/2008 - 17:40 por Guillermo Peralta | Informe spam
Hola que tal;

Existe algun Formato que le pueda pasar al ToString de un valor boolean para
que me visualice los datos de la siguiente manera?

Por ejemplo

void Imprime ()
{
bool TengoDinero = false;

Console.Write (TengoDinero.ToString()); //que imprima No en lugar de
False


TengoDinero = true;

Console.Write (TengoDinero.ToString()); //que imprima Sí


}


Gracias

Guillermo Peralta

Preguntas similare

Leer las respuestas

#6 Alberto Poblacion
22/10/2008 - 21:34 | Informe spam
""Fernando A. Gómez F."" wrote in message
news:
Estaba pensando... ¿quizás con alguna "extensión"? No me he metido mucho a
C# 3... ¿se podría?




public static class ExtensionesParaBool
{
public static string ToSiNoString(this bool dato)
{
return dato ? "Si" : "No";
}
}


Utilizarlo asi:
Console.WriteLine(TengoDinero.ToSiNoString());
Respuesta Responder a este mensaje
#7 Guillermo Peralta
22/10/2008 - 22:19 | Informe spam
Gracias a todos, todavía estoy con el 2.0 así que por ahora tendre que
seguir como estaba

Saludos
Guillermo Peralta


""Fernando A. Gómez F."" escribió en el
mensaje de noticias:
Alfredo Novoa wrote:
El Wed, 22 Oct 2008 13:40:27 -0200, Guillermo Peralta escribió:

Existe algun Formato que le pueda pasar al ToString de un valor boolean
para que me visualice los datos de la siguiente manera?



No se si existía, pero ahora si que existe :-)



[CODE]


Saludos



Estaba pensando... ¿quizás con alguna "extensión"? No me he metido mucho a
C# 3... ¿se podría?

Saludos.
Respuesta Responder a este mensaje
#8 Alfredo Novoa
24/10/2008 - 12:03 | Informe spam
El Wed, 22 Oct 2008 18:19:19 -0200, Guillermo Peralta escribió:

Gracias a todos, todavía estoy con el 2.0 así que por ahora tendre que
seguir como estaba



Bueno, hay otra forma:

public class BoolFormatProvider : IFormatProvider,
ICustomFormatter
{
#region ICustomFormatter Members

public string Format(string format, object arg,
IFormatProvider formatProvider)
{
if (arg is bool)
return (bool)arg ? "Sí" : "No";
else
return arg.ToString();
}

#endregion

#region IFormatProvider Members

public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
return this;
else
return null;
}

#endregion
}


Y se usa así:

BoolFormatProvider fp = new BoolFormatProvider();

bool b = true;

string s = String.Format(fp, "Va a ser que {0}", b);

MessageBox.Show(s);

A ver si te sirve.


Saludos
Respuesta Responder a este mensaje
#9 Guillermo Peralta
24/10/2008 - 16:09 | Informe spam
Muchas Gracias Alfredo

Guillermo Peralta


"Alfredo Novoa" escribió en el mensaje de
noticias:
El Wed, 22 Oct 2008 18:19:19 -0200, Guillermo Peralta escribió:

Gracias a todos, todavía estoy con el 2.0 así que por ahora tendre que
seguir como estaba



Bueno, hay otra forma:

public class BoolFormatProvider : IFormatProvider,
ICustomFormatter
{
#region ICustomFormatter Members

public string Format(string format, object arg,
IFormatProvider formatProvider)
{
if (arg is bool)
return (bool)arg ? "Sí" : "No";
else
return arg.ToString();
}

#endregion

#region IFormatProvider Members

public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
return this;
else
return null;
}

#endregion
}


Y se usa así:

BoolFormatProvider fp = new BoolFormatProvider();

bool b = true;

string s = String.Format(fp, "Va a ser que {0}", b);

MessageBox.Show(s);

A ver si te sirve.


Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida