Под "generate" подразумевается автоматическое генерирование кода, необходимого для выбранного (набора) переменных (s).
Но более явное объяснение или комментарий о хорошей практике приветствуются.
Под "generate" подразумевается автоматическое генерирование кода, необходимого для выбранного (набора) переменных (s).
Но более явное объяснение или комментарий о хорошей практике приветствуются.
Вместо использования ctrl + k, x вы также можете просто ввести prop
, а затем дважды нажать вкладку
Visual Studio также имеет функцию, которая будет генерировать свойство из частной переменной.
Если вы щелкните правой кнопкой мыши на переменной, в контекстном меню, которое появляется, щелкните элемент "Рефакторинг". Затем выберите инкапсулированное поле. Это создаст свойство getter/setter для переменной.
Я не слишком большой поклонник этой техники, так как это немного неудобно использовать, если вам нужно создать много геттеров/сеттеров, и она помещает свойство непосредственно под частным полем, что меня задевает, потому что Обычно у меня есть все мои личные поля, сгруппированные вместе, и эта функция Visual Studio прерывает форматирование моего класса.
Сгенерируйте, вы имеете в виду автоматическое создание? Если это не то, что вы имеете в виду:
Visual Studio 2008 имеет самую легкую реализацию для этого:
public PropertyType PropertyName { get; set; }
В фоновом режиме создается неявная переменная экземпляра, к которой ваше свойство сохраняется и извлекается.
Однако, если вы хотите добавить больше логики в свои свойства, вам понадобится переменная экземпляра для нее:
private PropertyType _property;
public PropertyType PropertyName
{
get
{
//logic here
return _property;
}
set
{
//logic here
_property = value;
}
}
Предыдущие версии Visual Studio всегда использовали этот метод longhand.
вы также можете использовать "propfull" и дважды нажать TAB, переменная и свойство с get и set будут сгенерированы.
Я использую Visual Studio 2013 Professional.
Refactor \ Encapsulate Field...
, затем нажмите OK
. Preview Reference Changes - Encapsulate Field
diaglog нажмите кнопку Apply
.
Вы также поместите курсор для выбора свойства, используйте меню Изменить\Рефакторинг\Инкапсулировать поле...
и
private int productID;
public int ProductID
{
get { return productID; }
set { productID = value; }
}
перейти в
public int ProductID { get; set; }
Если вы используете Visual Studio 2005 и вы можете быстро создать сеттер/приемник, используя команду фрагмента вставки. Щелкните правой кнопкой мыши на свой код, щелкнув "Вставить фрагмент" (Ctrl + k, x), а затем выберите "prop" из списка. Надеюсь, это поможет.
Если вы используете ReSharper, зайдите в меню ReSharper → Code → Generate... (или нажмите Alt + Ins внутри окружающего класса), и вы получите все варианты для генерирующих геттеры и/или сеттеры, о которых вы можете думать: -)
используйте ключевое слово propfull
.
Он будет генерировать свойство и переменную
Я знаю, что это старше солнца, но решил, что я опубликую это в качестве своего ответа, потому что он просто так делает это.
Что я сделал, так это создать свой собственный фрагмент, который ТОЛЬКО добавляет {get; set;}
. Я сделал это только потому, что считаю prop > tab
неудобным.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>get set</Title>
<Shortcut>get</Shortcut>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[{get; set;}]]>
</Code>
</Snippet>
</CodeSnippet>
При этом вы вручную вводите PropType и PropName, затем введите get > tab
и добавьте набор get. Его ничего магического, но поскольку я, как правило, сначала набираю свой модификатор доступа, я также могу закончить имя и тип.
У меня больше нет Visual Studio на моей машине (и я использую Linux), но я помню, что был мастер, скрытый где-то внутри одного из меню, которое давало доступ к построителю классов.
С помощью этого мастера вы можете определить все детали своих классов, включая методы и атрибуты. Если я хорошо помню, был вариант, через который вы могли бы попросить VS создать для вас сеттеры и геттеры.
Я знаю, что это довольно неопределенно, но проверьте это, и вы можете его найти.
В дополнение к фрагменту "prop" и авто-свойствам существует опция рефакторинга, позволяющая вам выбрать существующее поле и выставить его через свойство. Кроме того, если вам не нравится реализация "prop", вы можете создать свои собственные фрагменты. Кроме того, сторонний инструмент рефакторинга, такой как resharper, даст вам еще больше возможностей и упростит создание более сложных фрагментов. Я бы рекомендовал Resharper, если вы можете себе это позволить.
http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx http://www.jetbrains.com/
В Visual Studio Community Edition 2015 вы можете выбрать все нужные вам поля и затем нажать ctrl + .
для автоматического создания свойств. Вы должны выбрать, хотите ли вы использовать свойство вместо поля или нет.
от инструмента визуальной студии мы сможем легко генерировать свойства С# с помощью онлайн-инструмента называется. генератор С#.
Просто нажмите Alt + Ins в студии Android после объявления переменных, вы получите геттеры и сеттеры в генерации кода.