11 Ekim 2017 Çarşamba

Conversion Operator

Giriş
Sınıfın string'den çevrilebilmesini sağlar. "explicit conversion operator" ve "implicit conversion operator" olarak iki çeşidi var.

explicit conversion operator
Şöyle kullanılır. Bir başka tipi kendi nesneme cast ederim.
string stre = ...;
Foo f = (Foo) toString;
Örnek
Şöyle yaparız.
public class Foo
{

  public static explicit operator Foo(string str)  
  {
    ...
    Foo f = new Foo(...,...);
    return f;
  }
}
implicit conversion operator
Nesnem başka bir tipe çevrilir. cast edilmez. Nesnemi string'e çevirmek istiyorsam bir diğer seçenek IFormattable arayüzünü gerçekleştirmek.

Örnek
Şöyle yaparız.
public class Foo
{
  public static implicit operator string(Foo foo)
  {
    // allows: 
    // var f = new Foo();
    // string x = f;
    return "Foo converted to string"; 
  } 
}


Hiç yorum yok:

Yorum Gönder