我剛剛通過官方msdn文檔的以下代碼。這看起來很簡單的代碼,但我不明白,當我們爲Person創建對象,並在tostring overrided method
我們給一些值,現在不調用此函數只是一個對象傳遞給WriteLine,它會自動打印人的細節它是如何發生的,當你傳遞一個對象,任何對象,對Console.WriteLine的ToString()被調用有人請解釋一下..C#中覆蓋ToString()的工作#
using System;
class Person
{
private string myName ="N/A";
// Declare a Name property of type string:
public string Name
{
get
{
return myName;
}
set
{
myName = value;
}
}
public override string ToString()
{
return "Name = " + Name ;
}
public static void Main()
{
Person person = new Person();
Console.WriteLine("Person details - {0}", person);
person.Name = "Joe";
Console.WriteLine("Person details - {0}", person);
}
}
輸出
Person details - Name = N/A
Person details - Name = Joe
有一個[真棒](http://referencesource.microsoft.com/#mscorlib/system/io/textwriter.cs#aedbc5e502007cf7)自己檢查出來。挖掘.NET源代碼從未如此簡單。 –
所有的答案,這是真的可以理解:) – Sikander
很高興我們可以幫助 – BradleyDotNET