C# neden ToString()?

Başlatan mir_as82, 18 Temmuz 2017, 15:05:49

mir_as82

İnsan sınıfından ali, benim oluşturduğum bir nesne.
Console.WriteLine(ali);

Burada WriteLine metoduna bu ali objesini parametre olarak geçince, ToString() metodu nasıl çağrılıyor ve neden çağrılıyor ?

ali nesnesi System.Object sınıfından bir obje bunu biliyorum. Ama neden başka metod çağrılmıyor da ToString() metodu çağrılıyor ?

tunayk

Sorunuzun cevabı, WriteLine methodunun kabul ettiği parametrede.  WriteLine() mothodu aslında WriteLine("") şeklinde bir parametre bekler.  Siz parametre olarak Object gönderirseniz de buna kızmaz. Çünkü Object nesnesinin doğal yoldan String'e dönüşeceğini bilir ve ToString() fonksiyonunu çağırır.

mir_as82

Alakasız soru ama farklı konu açmamak için soruyorum,
Bir sınıfın içindeki static methodlar ve static field lar, memory nin hangi segmentine yüklenir?