Самый быстрый способ отображения объектов
C# .Net :
У меня есть большой объект, который содержит сложное отображение с 20 свойствами и простое отображение с 38 свойствами, в настоящее время я отображаю их с помощью отражения, но все же мне нужно улучшить производительность моего отображения.
Может ли кто-нибудь предложить, какая библиотека лучше всего подходит для повышения производительности отображения?
Что я уже пробовал:
я попробовал использовать automapper, а также ручное отображение свойств.
тем не менее, мы нуждаемся в улучшении производительности.
Моя текущая реализация:
public void FillObjectFromData(object objectToFill, object fromData) { if (fromData != null) { System.Reflection.PropertyInfo[] contractProperties = (objectToFill.GetType()).GetProperties(); foreach (System.Reflection.PropertyInfo contractProperty in contractProperties) { if (contractProperty.CanWrite && fromData.GetType().GetProperty(contractProperty.Name) != null) { try { object dataValue = fromData.GetType().GetProperty(contractProperty.Name).GetValue(fromData, null); if ((dataValue != null) || (contractProperty.PropertyType.IsGenericType && contractProperty.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>))) { contractProperty.SetValue(objectToFill, dataValue, null); } } catch //(Exception ex) { } } } } }
Afzaal Ahmad Zeeshan
Кстати, это полностью поведение по умолчанию, почему вы сопоставляете объекты, Почему вы на самом деле не можете передавать объекты или попробовать что-то вроде сериализаторов?