Здравствуйте, i1yich, Вы писали:
I>Я посмотрел, из 3.5 там используется только System.Core. Для net2.0 ее вполне можно заменить на LinqBridge. Там есть реализации Enumerable, Func<> и Action<> и определен ExtensionAttribute, единственное из необходимого твоему мапперу, чего там нет — это класса HashSet, но его можно заменить на HashTable.
Можете просто взять System.Core из поставки FW 3.5
Здравствуйте, mrTwister, Вы писали: T>Эта задача решается через построение графа объектов и это можно сделать через кастомную конфигурацию к EM. По-умолчанию ЕМ граф не строит, но если хочешь, я могу вечером накидать несколько строк кода, которые показывают, как это сделать с помощью ЕМ.
Мне бы, кстати, тоже было интересно. Хотел на днях прикрутить EM для маппинга графов, но не смог.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, mrTwister, Вы писали: T>>Эта задача решается через построение графа объектов и это можно сделать через кастомную конфигурацию к EM. По-умолчанию ЕМ граф не строит, но если хочешь, я могу вечером накидать несколько строк кода, которые показывают, как это сделать с помощью ЕМ.
MC>Мне бы, кстати, тоже было интересно. Хотел на днях прикрутить EM для маппинга графов, но не смог.
К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств.
Здравствуйте, mrTwister, Вы писали: T>К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств.
Или возможности вызвать копирования свойств из кастомного ConvertUsing.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, mrTwister, Вы писали: T>>К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств. MC>Или возможности вызвать копирования свойств из кастомного ConvertUsing.
Здравствуйте, mrTwister, Вы писали:
T>Здравствуйте, Mr.Cat, Вы писали:
MC>>Здравствуйте, mrTwister, Вы писали: T>>>К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств. MC>>Или возможности вызвать копирования свойств из кастомного ConvertUsing.
T>Этот вариант даже лучше!
Добрый!
Есть такая ситуация:
public class ParentClass
{
public ParentClass()
{
Child = new ChildClass();
}
public ChildClass Child
{
get;
private set;
}
}
Нужно сделать копию ParentClass. Однако вложенный ChildClass не мапится, т.к. сеттер свойства ParentClass.Child приватный. Существуют ли варианты заставить его мапиться не меняя private set на public set?
Спасибо, не плохо бы такое на главную страницу вывести, честно говоря не пришло в голову,
что в транке может быть больше примеров чем описано в документации.
Здравствуйте, mrTwister, Вы писали:
T>http://emitmapper.codeplex.com
T>Emit Mapper — это мощная легковесная библиотека для проецирования одних объектов на другие. Имеет следующие особенности:
T>1) Очень быстрая. Работает через Emit с производительностью рукописного кода. По разным тестам в 150-600 раз быстрее чем AutoMapper. Бенчмарк
T>2) Очень гибкая. Проецировать можно что угодно на что угодно. Например, датаридер на объекты, объекты на SQL команды (UPDATE, INSERT), объекты на строку (сериализация), строку на объекты (десериализация) и так далее. Короче говоря, в рантайме можно задать произвольный меппинг чего угодно на что угодно, который работает со скоростью рукописного кода.
Проект ещё поддерживается? Он ещё интересен автору? Хочу попробовать использовать в реальном коммерческом продукте, а на CodePlex'е beta, которая не обновлялась с января...
Здравствуйте, FreddieM, Вы писали:
FM>Проект ещё поддерживается? Он ещё интересен автору? Хочу попробовать использовать в реальном коммерческом продукте, а на CodePlex'е beta, которая не обновлялась с января...
Проект поддерживается, баги, если таковые обнаружатся, пофиксятся.
FM>PS: С .NET Framework 4.0 проблем не будет?
Не должно.