我想覆盖Tostring()方法来更改某些字符。可能吗?如果是,我该怎么做?
答案 0 :(得分:16)
在您要覆盖它的班级中,添加:
public override string ToString()
{
// return your string representation
}
答案 1 :(得分:15)
根据您的问题,要更改 ToString
实施中的某些字符,您需要使用ToString
关键字调用现有的base
方法:
public override string ToString()
{
return base.ToString().Replace("something", "another thing");
}
请注意,如果您忘记base
关键字,它会反复调用自己,直到您获得StackOverflowException
。
答案 2 :(得分:5)
在要覆盖ToString函数的类中添加以下内容:
public override string ToString()
{
// Add your implementation here
}
答案 3 :(得分:3)
请参阅MSDN上的示例。
public override String ToString()
{
return String.Format("Test {0}", 101);
}
答案 4 :(得分:3)
您只需尝试编写公共覆盖,然后Visual Studio将为您创建方法:
public override string ToString()
{
// Implement your own code and return desired string
}
答案 5 :(得分:0)
如果有人寻找“如何覆盖ToString()方法”的一般答案,我写了一篇帖子“Override ToString() using JSON serialization or something else。”
总结一下,以下技术可用于简化ToString()的创建:
JSON序列化(DataContractJsonSerializer,JSON.NET或NuGet包JsonValue)。
XMLSERIALIZE
ServiceStack.Text C# .NET Extension method: T.Dump();