Я ищу способ ускорить повторяемую задачу при написании кода. У меня есть ReSharper, и я думаю, что настройка может делать то, что мне нужно.Может ли ReSharper генерировать код, который копирует свойства из одного объекта в другой?
У меня 2 объекта одного типа. Я хочу скопировать все общедоступные свойства одного объекта на другой объект. Я хочу, чтобы инструмент, ReSharper в этом случае, создал код для меня. Я расскажу им имена первого объекта и второго объекта. Я хочу, чтобы он нашел все общедоступные свойства первого объекта и скопировал значения для второго объекта.
Вот тип кода Я ищу сгенерировали с помощью инструмента, как ReSharper:
foo.Name = moo.Name;
foo.Age = moo.Age;
foo.City = moo.City;
автоматизируя этот простой код, который копирует значения справа налево позволит сэкономить массу времени, и я думая, что ReSharper может это сделать. Тем не менее, я не видел ничего всплывающего в поисках его, хотя.
Я не ищу метод генерации кода CodeSmith или шаблон T4, потому что я хочу, чтобы он генерировал эти конкретные строки внутри моего класса, а не генерировал и весь класс или отдельный файл.
Кто-нибудь знает, как нажать несколько нажатий клавиш, ввести имена объектов «foo» и «moo» выше и заставить инструмент сгенерировать эти копии справа налево строк кода?
Update:
Я нашел некоторую документацию на строительных расширений для ReSharper, и это, вероятно, может быть достигнуто за счет этого пути, но это выглядит действительно участвует.
http://www.jetbrains.net/confluence/display/ReSharper/PowerToys+Pack+3.0+User+Guide
Это начинает выглядеть как выходные вызов, если кто-то еще не уже написал.
Я никогда не слышал этого инструмента. С уровнями доступа к данным и Data Contracts, которые делают этот код необходимым, это отличный инструмент! – Vaccano
Automapper, безусловно, отличная вещь для некоторых случаев, но может быть ОЧЕНЬ медленной для большого количества объектов. – Telavian
Мы использовали Automapper в большом корпоративном приложении с тонны DTO, и через 6 месяцев мы отказались от него, потому что было сложнее поддерживать и отлаживать, чем простое старое назначение свойств. Не следует считать большим ударом по AM, но в итоге мы просто хотели сломать строку кода вместо того, чтобы зачитать большое сообщение об ошибке (сообщение об ошибке было точным и полезным). – TheDev6