C#’ta bilinçli ve bilinçsiz olmak üzere iki tür veri dönüşümü vardır. Bilinçsiz olarak yapılan tür dönüşümü Implicit Conversion, bilinçli dönüşüm ise Explicit Conversion diye adlandırılırlar. Implicit Conversion’da herhangi bir operatör ya da ek bir syntax kullanmazken, Explicist Conversion’da Cast operatörü kullanılmaktadır.
Normalde aralarında kalıtımsal ilişki olmayan Class’lar için nasıl dönüşüm yapılabilir?
Bilinçsiz(Implicit) ve Bilinçli(Explicit) dönüşüm örneği
Peki örneğin Product adlı oluşturduğumuz Class’a bunu yapabilir miyiz? Evet yapılabilir. Oluşturulan Class’a implicit veya explicit metotlarını ekleyerek halledebiliriz. Unutmayın bir Class içerisinde aynı işleve sahip hem implicit hem de explicit metot olamaz.
Örnek olarak bir string değişkene direkt olarak nesneyi atarayak ürünün adını alabiliriz.
string productName = product; gibi.
Veya oluşturulan product nesnesinin Name property’ine değer atamayı direkt string değer vererek yapabiliriz.