Добрый день.
IT>>Не единственное. Как такой вариант?
IT>>IT>>[MapField("FirstName", "Name.First")]
IT>>[MapField("LastName", "Name.Last")]
IT>>[MapField("MiddleName", "Name.Middle")]
IT>>public abstract class Person : EditableObject
IT>>{
IT>>
БП>Вариант канает, но требует установки атрибутов у внешнего класса. Красота и простота теряются.
БП>Проблема нынешней реализации вложенных классов в том, что комплексные маперы создаются по требованию. При этом нужно знать имя.
БП>Т.е. можно легко нарваться на ситуацию, когда в момент времени А у объекта N MemberMapper'ов, а в момент B их уже N + M, т.к. поtearoffились несколько комплексных маперов. В тестах всё может и работает как часики, а в реальной жизни у честных людей полезут странные и невоспроизводимые горбухи.
БП>Предложенный тобой способ служит для одной цели: задать комплекстные маперы заранее, чтобы они не создавались на ходу.
Чем всё закончилось? Есть какие-то альтернативные способы привязки вложенных классов без явного перечисления всех их полей?