Foros del Web » Programación para mayores de 30 ;) » .NET »

AYUDA con propiedades en C# 2008

Estas en el tema de AYUDA con propiedades en C# 2008 en el foro de .NET en Foros del Web. Hola a todo los colegas del foro! Por ser mi primer Post , voy a requerir de sus conocimientos y experiencia para ayudar a resolver ...
  #1 (permalink)  
Antiguo 26/03/2009, 20:00
 
Fecha de Ingreso: marzo-2009
Ubicación: Uruguay
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación AYUDA con propiedades en C# 2008

Hola a todo los colegas del foro!

Por ser mi primer Post , voy a requerir de sus conocimientos y experiencia para ayudar a resolver lo siguiente, les cuento:

Estoy empezando introducirme en el mundo .NET Framework, v3.5 presisamente. He optado por C#, como lenguaje de desarrollo. Ya que tengo experiencia con PHP. Y ambos (PHP y C#) estan inspirados, por asi decirlo, en C++. Que tengo conocimientos, pero muy poca experiencia.

Necesito de alguna menera sobrecargar el metodo ToString() de una Propiedad que se encuentra en una Clase con la propiedad "partial", debido a que el archivo donde se encuentra, es generado automaticamente por un programa. No puedo modificar dicho archivo. Sino que tengo que hacer los cambios que fueran necesarios en otro archivo "cualquier.cs".

Incluyo el código de la clase a modo de ejemplo para hacerme entender mejor:

Código:
/*
* MiClase.class.cs
*/
public partial class MiClase
{
  private bool _Estado;
  public bool Estado
  {
     get{
          return this._Estado;
      }
     set{
          this._Estado = value;
      }
  }
}
Mi pregunta es ¿Hay alguna manera de sobrecargar el metodo ToString() de la propiedad Titular?

Para poder utilizar esta de la siguiente manera:

Código:
MiClase mi_clase = new MiClase();
mi_clase.Estado=true;
Console.WriteLine("Estado: {0}", mi_clase.Estado);
Deseo que la en lugar de mostrar: Estado: true, muestre por ej. Estado: Habilitado. O Deshabilitado en el caso de tener un valor false.

¿De no poderse sobrecargar ToString() de que otra manera me aconsejan implemente lo expuesto?

Tambien he pensado en crear otro metodo, por ej.: MostrarEstado(). Pero me gustaria, de poderse, utilizar la ToString o alguna otra forma de conversión.

Desde ya les digo gracias! Y espero tener alguna respuesta pronto

Saludos!
  #2 (permalink)  
Antiguo 26/03/2009, 20:29
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: AYUDA con propiedades en C# 2008

Puedes probar implementando la interfaz IFormatable y definir que tu clase haga un override al metodo ToString customizado asi solo harias

Console.WriteLine("Estado : {0}",miObjeto);

pero se definiria para solo una propiedad, ahora que si tienes multiples

dale una vuelta a la clase TypeConverter que permitira que cuando ejecuten una conversion implicita el destino del tipo string sea customizado a tu texto en especifico.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 26/03/2009, 21:24
 
Fecha de Ingreso: marzo-2009
Ubicación: Uruguay
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: AYUDA con propiedades en C# 2008

Muchas gracias Peterpay por tu pronta respuesta!

Creo que TypeConverter será el mejor rumbo para hacer lo que quiero. Por mientras cree un nuevo metodo:

Código:
public partial class MiClase
{
    public string GetEstado()
    {
        return (Estado== true) ? "Habilitado" : "Deshabilitado";
    }
}
Despues que me informe mas sobre TypeConverter vere como implementarla.

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:51.