Muhtemelen düşünmüşsünüzdür.
String Deger=”Nihat DEMİRLİ”; Bu satır C# tarafından neden kabul edilmektedir. Aynı şekilde tam sayı tipli bir değer nasıl oluyorda bu değişkenlere aktarılabiliyor. Bu soruna yanıt aramak için öncelikle aşağıdaki kodlamaya dikkat etmenizi istiyorum.
class Metin
{
public Metin(string Veri)
{
Degerim = Veri;
}
private string Degerim = “”;
public override string ToString()
{
return Degerim;
}
public static implicit operator Metin(string Deger)
{
Metin Sonuc = new Metin(Deger);
return Sonuc;
}
public static implicit operator string(Metin Deger)
{
return Deger.Degerim;
}
}
Yazdığımız sınıfı uygulamadan tetikleyerek sonucu göstermek istiyorum.
private void button1_Click(object sender, EventArgs e)
{
Metin Yeni = “Sinan Efendi”;//Bu satır Metin isimli static operator tanımından dolayı yazılabilir.
this.Text = Yeni.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
Metin Yeni = “Sinan Efendi”;
this.Text = Yeni;//Bu satır static string operator tanımından dolayı yazlabiliyor.
}
Biraz dahada geliştirelim.
private void button3_Click(object sender, EventArgs e)
{
Metin Yeni = “Sinan Efendi”;
Metin Eski = “Engin Efendi”;
Metin Son = Yeni + “-” + Eski;
this.Text = Son;//Sinan Efendi-Engin Efendi Yazar
}
Görüldüğü gibi bizde aynen string tip gibi kullanılabilen bir Class yazmış olduk.