Да, если все, что Вы делаете, получает и устанавливает, используйте свойство.
при выполнении чего-то сложного, которое может влиять на несколько элементов данных, метод является более соответствующим. Или если Ваш метод get берет параметры, или Ваш метод set берет больше, чем параметр, передаваемый по значению.
В середине серая область, где грань может быть немного стерта. Нет никакого жесткого правила, и различные люди будут иногда не соглашаться, должно ли что-то быть свойством или методом. Важная вещь состоит в том, чтобы только (относительно) согласовываться с тем, как Вы делаете это (или как Ваша команда делает это).
Они являются в основном взаимозаменяемыми, но свойство предупреждает пользователя, что реализация относительно "проста". О, и синтаксис является немного более чистым.
Вообще говоря, моя философия - то, что, если Вы начинаете писать имя метода, которое начинается, получают или устанавливают, и берет нуль или один параметр (соответственно) тогда, это - главный кандидат на свойство.
CodeSmith Studio - множество отличных примеров шаблонов, которые с ним работают.
Я стараюсь избегать генерации кода и генерировать динамическую функциональность во время выполнения, используя либо C # DynamicMethods, либо C # Lambda Expressions ... Я предпочитаю не генерировать код в своих решениях ...
Я только начал играть с функциями генерации кода Enterprise Architect. Приятно иметь код, сгенерированный на основе модели, а не на уровне базы данных, но, к сожалению, их инструмент для генерации кода немного громоздок. Пока что я настроил его шаблон C # для создания простых классов CSLA, что, по крайней мере, избавило меня от необходимости печатать.
Я часто пишу сценарии генерации кода на Python. В далеком прошлом я также использовал Perl. Любой язык хорошо подходит для этой задачи.
DMS Software Reengineering Toolkit
Может быть сконфигурирован для чтения любого стиля языка спецификации и генерации кода, включая оптимизацию генерации посткода.
Дживс (обсуждается в разделе «Расширенное программирование на Perl»).
У меня есть этап предварительной сборки в VS 2005, который выполняет Дживс для создания исходного кода «точно в срок» для компиляции / компоновки.
«Обычные» инструменты генерации кода, которые я использую, о которых многие не задумываются:
Другие инструменты генерации кода, которые явно являются генерацией кода в проекте:
File.xlsx
) в код ( File .g.cs
) Eclipse Xpand и Xtext , также известный как openArchitectureWare .
Python (потому что я считаю, что это самый быстрый способ что-то вместе взломать).
Я использую следующие генераторы кода:
Я считаю, что моя продуктивность была бы намного ниже без инструментов генерации кода. Генераторы кода обычно не вызывают ошибок в сгенерированном коде, так что это тоже хорошая причина их использовать.