2010-02-23 13 views

Répondre

15

Selon votre question, à changement certains caractères dans l'implémentation ToString, vous devez appeler la méthode existante ToString en utilisant le mot clé base:

public override string ToString() 
{ 
    return base.ToString().Replace("something", "another thing"); 
} 

Notez que si vous oubliez le mot-clé base, il s'appellera plusieurs fois jusqu'à ce que vous obteniez un StackOverflowException.

16

Dans votre classe où vous voulez la remplacer, ajoutez:

public override string ToString() 
{ 
    // return your string representation 
} 
5

Ajouter ce qui suit dans la classe que vous souhaitez remplacer la fonction ToString:

public override string ToString() 
{ 
    // Add your implementation here 
} 
3

Voir un exemple à MSDN.

public override String ToString() 
{ 
    return String.Format("Test {0}", 101); 
} 
3

Tout ce que vous avez besoin est d'essayer d'écrire public override, puis Visual Studio va créer la méthode pour vous comme ceci:

public override string ToString() 
{ 
     // Implement your own code and return desired string 
} 
0

Si quelqu'un cherche une réponse générale à "Comment remplacer la méthode ToString()", j'ai écrit un post, "Override ToString() using JSON serialization or something else".

Dans un résumé, les technologies suivantes peuvent être utilisées pour simplifier la création de ToString():

  1. sérialisation JSON (soit DataContractJsonSerializer, JSON.NET ou le paquet NuGet JsonValue).

  2. XMLSERIALIZE

  3. dump an arbitrary object to an HTML string de LINQPad

  4. de ServiceStack.Text C# .NET Extension method: T.Dump();

Questions connexes