Tôi đã nghiên cứu một chút về phản xạ trong C# và muốn biết nếu tôi sử dụng từ điển có khóa-giá trị có thể tạo đối tượng có biến với tên không của mỗi khóa trong từ điển và giá trị của chúng, giá trị khóa của từ điển đó.Tạo đối tượng động từ điển với C# Reflection
Tôi có phương pháp ngược lại, trích xuất một đối tượng từ một từ điển, từ điển này chứa các khóa và thuộc tính lớp và giá trị của chúng, giá trị của thuộc tính.
Tôi tự hỏi cách thực hiện việc này nếu có thể.
Dưới đây là phương pháp của tôi, được chiết xuất một cuốn từ điển của một đối tượng:
protected 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;
}
Bạn có nghĩa là đối tượng gõ 'năng động'? Hoặc tạo loại mới? – Euphoric
Phiên bản .NET framework nào bạn sử dụng? –
Đối tượng đã tồn tại, khi thoát chức năng này, tôi chỉ cần truyền (myObject) kết quả của đối tượng đó tới đối tượng hiện có. .NET 4.0 –