Procedimiento para invalidar el método ToString (Guía de programación de C#)

Cada clase o struct de C# hereda implícitamente la clase Object. Por consiguiente, cada objeto de C# obtiene el método ToString, que devuelve una representación de cadena de ese objeto. Por ejemplo, todas las variables de tipo int tienen un método ToString, que las habilita para devolver su contenido como cadena:

int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42

Cuando cree una clase o struct personalizados, debe reemplazar el método ToString para proporcionar información sobre el tipo al código de cliente.

Para obtener información sobre cómo usar cadenas de formato y otros tipos de formato personalizado con el método ToString, vea Aplicar formato a tipos.

Importante

Cuando decida qué información va a proporcionar a través de este método, considere si la clase o struct se va a usar alguna vez en código que no sea de confianza. Asegúrese de que no proporciona información que pueda ser aprovechada por código malintencionado.

Para reemplazar el método ToString en una clase o struct:

  1. Declare un método ToString con los modificadores y el tipo de valor devuelto siguientes:

    public override string ToString(){}  
    
  2. Implemente el método para que devuelva una cadena.

    En el ejemplo siguiente, se devuelve el nombre de la clase, además de los datos específicos de una instancia concreta de la clase.

    class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    
        public override string ToString()
        {
            return "Person: " + Name + " " + Age;
        }
    }
    

    Se puede probar el método ToString tal y como se muestra en el siguiente ejemplo de código:

    Person person = new Person { Name = "John", Age = 12 };
    Console.WriteLine(person);
    // Output:
    // Person: John 12
    

Consulte también