C# object oriented tabanlı bir dil olduğu için hemen hemen hepimiz bu yöntem üzerine odaklanarak kodlarımızı yazıyoruz.Fakat bazı yerlerde birkaç ayar yapmazsak başımız ağrıyabiliyor.Örneğin bir Musteri classımız ve bu müşteriye ait adres bilgilerini barındıran Adress classımız olduğunu varsayalım.
Musteri ve Adress Classımız:
public class Musteri
{
public string Adi { get; set; }
public string Soyadi { get; set; }
public Adress Adresi { get; set; }
public Musteri()
{
}
}
public class Adress
{
public string Sehir { get; set; }
public string Ilce { get; set; }
public string Adres { get; set; }
}
Bir GridView' e List<Musteri> tipinden datasource verdiğimizde Adi ve Soyadi propertylerini düzgün olarak yazacak fakat adres propertysini yazmayacaktır. Çünkü adres propertysi bir nesne ve biz bu nesnenin ToString() metoduna birşey yazmadık. Doğal olarak ToString() metodunu bulamayınca da Adress sütununu boş geçecektir. Bu problemin üstesinden gelmek için Adress clasımıza Override ToString() metodunu aşağıdaki şekilde ekleyelim.
Adress clasımızın yeni hali:
public class Adress
{
public string Sehir { get; set; }
public string Ilce { get; set; }
public string Adres { get; set; }
public Adress()
{
}
public override string ToString()
{
return Adres + " " + Ilce + " " + Sehir;
}
}
Bu işlemden sonra artık
GridView bizim
override metodumuzu görecek ve adres bölümüne Adres+Ilce+Sehir propertylerini birleştirerek görüntüleyecektir. Kodlama yaparken ise Adres+Ilce+ Sehir yazma derdinden kurtulacağız ve bu işlemi Adres.ToString(); yazarak daha kısa ve anlaşılır biçimde yapmış olacağız.