Monday, January 11, 2016

C# Jenerik Fonksiyonlar - C# Generic Functions

Jenerik fonksiyonlar kodlama içinde fonksiyonun tipe göre reaksiyon gösterebilmesini sağlamaktadır. Kavram olarak çok biçimlilik (polymorphism) konusunun örneklerindendir. Aşağıdaki örnek fonksiyonda iki sınıfın ortak "property" değerleri diğerine kopyalanmaktadır ve fonksiyon üzerine kopyalama yapılan nesneyi kendi tipinde döndürmektedir.

public static T CopyObject < T >(object From, T To) where T:class
{
     Type tfrom = From.GetType();
     Type tto = typeof(T);

     foreach (PropertyInfo to_property in tto.GetProperties())
     {
          foreach (PropertyInfo from_property in tfrom.GetProperties())
          {
              if (from_property.Name == to_property.Name)
              {
                  to_property.SetValue(To, from_property.GetValue(From));
                  break;
              }
          }
     }

     return To;          
}

No comments:

Post a Comment