Ответы:
Вместо того, чтобы использовать Ctrl+ K, Xвы также можете просто напечатать, prop
а затем Tabдважды нажать .
Visual Studio также имеет функцию, которая генерирует свойство из закрытой переменной.
Если щелкнуть правой кнопкой мыши переменную, в всплывающем контекстном меню щелкните элемент «Refactor» и выберите « Encapsulate Field» ... . Это создаст свойство getter / setter для переменной.
Я не слишком большой поклонник этой техники, так как ее немного неудобно использовать, если вам нужно создать много методов получения / установки, и она помещает свойство непосредственно под приватным полем, что вызывает ошибки, потому что я обычно все мои личные поля сгруппированы вместе, и эта функция Visual Studio нарушает форматирование моего класса.
Я использую Visual Studio 2013 Professional.
Вы также помещаете курсор для выбора свойства . Используйте меню Edit → Refactor → Encapsulate Field ...
Дополнительная информация:
Начиная с C # 3.0 (19 ноября 2007 г.), мы можем использовать автоматически реализованные свойства (это просто синтаксический сахар ).
И
private int productID;
public int ProductID
{
get { return productID; }
set { productID = value; }
}
становится
public int ProductID { get; set; }
Под генерацией вы подразумеваете автоматическую генерацию? Если это не то, что вы имеете в виду:
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 этот метод всегда также использовался.
property_
а не до _property
?
Вы также можете использовать «propfull» и TABдважды ударить .
Переменная и свойство с get и set будут сгенерированы.
Используйте propfull
ключевое слово.
Это сгенерирует свойство и переменную.
Введите ключевое слово propfull
в редакторе, а затем два TABс. Это сгенерирует код как:
private data_type var_name;
public data_type var_name1{ get;set;}
Видео, демонстрирующее использование сниппета «propfull» (помимо прочего), в 4 минуты 11 секунд.
Я создал свой собственный фрагмент, который только добавляет {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>
</CodeSnippets>
При этом вы вводите ваши PropType и PropName вручную, затем набираете get
→ Tab, и он добавит полученный набор. В этом нет ничего волшебного, но так как я все равно сначала набираю свой модификатор доступа, я могу также закончить имя и тип.
В Visual Studio Community Edition 2015 вы можете выбрать все необходимые поля, а затем нажать Ctrl+, .чтобы автоматически сгенерировать свойства.
Вы должны выбрать, хотите ли вы использовать свойство вместо поля или нет.
В дополнение к фрагменту prop и авто-свойствам, существует опция рефакторинга, позволяющая выбрать существующее поле и открыть его через свойство ( щелкните правой кнопкой мыши поле → Refactor → Encapsulate Field ... ).
Также, если вам не нравится реализация «prop», вы можете создавать свои собственные фрагменты. Кроме того, сторонний инструмент рефакторинга, такой как ReSharper , предоставит вам еще больше возможностей и упростит создание более сложных фрагментов. Я бы порекомендовал ReSharper, если вы можете себе это позволить.
http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx
Видео, демонстрирующее использование сниппета «проп» (среди прочего), в 3 мин 23 с.
В visual studio 2019 выберите ваши свойства следующим образом:
Затем нажмите Ctrl+r
Затем нажмитеCtrl+e
Появится диалоговое окно с предварительным просмотром изменений, которые будут внесены в ваш код. Если все выглядит хорошо (что в основном и будет), нажмите OK
.
У меня больше нет установленной Visual Studio (и я использую Linux), но я помню, что где-то внутри меню было спрятан мастер, который давал доступ к построителю классов.
С помощью этого мастера вы можете определить все детали ваших классов, включая методы и атрибуты. Если я хорошо помню, была опция, с помощью которой вы могли бы попросить Visual Studio автоматически создавать установщики и получатели.
Я знаю, что это довольно расплывчато, но проверьте это, и вы можете найти это.
От имени инструмента Visual Studio мы можем легко генерировать свойства C # с помощью онлайн-инструмента, называемого генератором свойств C #.
Сначала получите Extension, просто нажмите ( Ctrl+ Shift+ X) и установите установщик геттера ....
После этого просто выберите вашу переменную и щелкните правой кнопкой мыши. Перейти к палитре команд ...
И введите getter ... Он предложит генерировать методы get и set. Нажмите на это ...
Вы просто нажимаете Alt+ Insв Android Studio.
После объявления переменных вы получите методы получения и установки в сгенерированном коде.