C# 'daki yansımalar hakkında biraz araştırma yapıyorum ve anahtar-değerlerle bir sözlük kullanıp kullanmadığımı öğrenmek istiyorum. sözlükteki her anahtarın ve değerlerinin, bu sözlüğün anahtar değeri.C# Reflection ile sözlükten dinamik nesne üretin
Aksini yapan, bir nesneyi bir sözlükten ayıklayan bir yönteme sahibim; bu sözlük, anahtarları ve sınıf özelliklerini ve değerlerini, özelliklerin değerini içerir.
Mümkünse bunu nasıl yapacağımı merak ediyorum. Aşağıda
bir nesnenin bir sözlük ayıklar benim yöntemdir: Bu aradığınız ama sorunuzun bakılırsa şeyin iseprotected Dictionary<String, String> getObjectProperty(object objeto)
{
Dictionary<String, String> dictionary = new Dictionary<String, String>();
Type type = objeto.GetType();
FieldInfo[] field = type.GetFields();
PropertyInfo[] myPropertyInfo = type.GetProperties();
String value = null;
foreach (var propertyInfo in myPropertyInfo)
{
if (propertyInfo.GetIndexParameters().Length == 0)
{
value = (string)propertyInfo.GetValue(objeto, null);
value = value == null ? null : value;
dictionary.Add(propertyInfo.Name.ToString(), value);
}
}
return dictionary;
}
sen 'dinamik' daktilo nesneyi ifade ediyor mu? Ya da yeni tip oluştur? – Euphoric
Hangi .NET framework sürümünü kullanıyorsunuz? –
Nesne zaten var, bu işlevin çıkışında, sadece (myObject) sonucunu varolan nesneye dökmem gerekiyor. .NET 4.0 –