.NET Framework Méthode virtuelle Object.ToString ()


Exemple

Tout dans .NET est un objet, donc chaque type a la méthode ToString() définie dans la classe Object qui peut être remplacée. L'implémentation par défaut de cette méthode renvoie simplement le nom du type:

public class Foo
{
}

var foo = new Foo();
Console.WriteLine(foo); // outputs Foo

ToString() est implicitement appelé lors de la concaténation de la valeur avec une chaîne:

public class Foo
{
    public override string ToString()
    {
        return "I am Foo";
    }
}

var foo = new Foo();
Console.WriteLine("I am bar and "+foo);// outputs I am bar and I am Foo

Le résultat de cette méthode est également largement utilisé par les outils de débogage. Si, pour une raison quelconque, vous ne souhaitez pas remplacer cette méthode, mais souhaitez personnaliser la manière dont le débogueur affiche la valeur de votre type, utilisez l' attribut DebuggerDisplay ( MSDN ):

// [DebuggerDisplay("Person = FN {FirstName}, LN {LastName}")]
[DebuggerDisplay("Person = FN {"+nameof(Person.FirstName)+"}, LN {"+nameof(Person.LastName)+"}")]
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set;}
    // ...
}