Aslında Aynı Olan Fakat Farklı Namespace Altında Olan Nesnelerin Dönüşümü

Bazı durumlarda aslında aynı olan iki nesne farklı isim uzayları altında bulunabilmektedir. Bu durumda nesneleri birbirine dönüştürecek bir metoda ihtiyaç duyulmaktadır. Örnek bir durum:


namespace MyNamespace
{
public class Personel
{
public int I { get; set; }
public string S { get; set; }
}
}
 
namespace MyNamespace2
{
public class Personel
{
public int I { get; set; }
public string S { get; set; }
}
 
}

 

Bu örnekte görüldüğü gibi Personel sınıfları aslında aynı nesnedir ama farklı isim uzayı altında yer alıyor. Bu gibi durumlarda aşağıdaki gibi bir metot kullanılabilir.


public static void MyMethod<T, T1>(ref T ob1, T1 ob2)
{
foreach (PropertyInfo property in ob1.GetType().GetProperties())
{
property.SetValue(ob1, ob2.GetType().GetProperty(property.Name).GetValue(ob2));
}
}

Bu metot sonucunda ob2 nesnesinin değerleri ob1 nesnesine aktarılmış olacaktır. Burada dikkat edilmesi gereken nokta örnek Personel sınıfında olduğu gibi sınıfların aynı olmasıdır.

Yorum Yapın

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d blogcu bunu beğendi: