[英]How can I override the ToString() method in C#?
我想覆蓋Tostring()方法來改變一些字符。 可能嗎? 如果是,我該怎么做?
在您要在其中覆蓋它的類中,添加:
public override string ToString()
{
// return your string representation
}
根據您的問題,要更改 ToString
實現中的某些字符,您需要使用base
關鍵字調用現有的ToString
方法:
public override string ToString()
{
return base.ToString().Replace("something", "another thing");
}
請注意,如果您忘記了base
關鍵字,它將重復調用自身,直到您獲得StackOverflowException
。
在要覆蓋ToString函數的類中添加以下內容:
public override string ToString()
{
// Add your implementation here
}
請參閱MSDN上的示例。
public override String ToString()
{
return String.Format("Test {0}", 101);
}
您只需要嘗試編寫公共覆蓋 ,然后Visual Studio將為您創建這樣的方法:
public override string ToString()
{
// Implement your own code and return desired string
}
如果有人尋找“如何覆蓋ToString()方法”的一般答案,我寫了一篇帖子,“ 使用JSON序列化或其他東西覆蓋ToString() 。”
總結一下,以下技術可用於簡化ToString()的創建:
JSON序列化(DataContractJsonSerializer,JSON.NET或NuGet包JsonValue)。
XMLSERIALIZE
LINQPad 將任意對象轉儲到HTML字符串
ServiceStack.Text C#.NET擴展方法:T.Dump();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.