Відповіді:
Замість того, щоб використовувати Ctrl+ K, Xви також можете просто ввести prop
та Tabдвічі натиснути .
У Visual Studio також є функція, яка генерує властивість із приватної змінної.
Якщо ви клацніть правою кнопкою миші на змінній, у контекстному меню, що з'являється, клацніть на пункт "Refactor" і виберіть поле "Encapsulate ..." . Це створить властивість getter / setter для змінної.
Я не надто великий шанувальник цієї методики, тому що це трохи незручно використовувати, якщо вам доведеться створити багато геттерів / сеттерів, і це розміщує властивість прямо під приватним полем, яке мене помиляє, тому що я зазвичай об'єднати всі мої приватні поля, і ця функція Visual Studio порушує форматування мого класу.
Я використовую Visual Studio 2013 Professional.
Ви також розміщуєте курсор для вибору властивості . Використовуйте меню Редагувати → Рефактор → Інкапсулювати поле ...
Інша інформація:
Оскільки 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
?
Ви також можете використовувати "профул" і натиснути TAB двічі .
Буде згенерована змінна та властивість get і set.
Використовуйте propfull
ключове слово.
Він буде генерувати властивість та змінну.
Введіть ключове слово propfull
в редактор, а потім два TABs. Він генерує код типу:
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, і він додасть набір get. Це нічого не магічного, але оскільки я, як правило, спочатку набираю модифікатор доступу, я можу також дописати ім'я та тип.
У Visual Studio Community Edition 2015 ви можете вибрати всі потрібні поля, а потім натиснути Ctrl+, .щоб автоматично генерувати властивості.
Ви повинні вибрати, чи хочете ви використовувати властивість замість поля чи ні.
На додаток до фрагменту "prop" та автоматичних властивостей, існує можливість рефактора, який дозволяє вам вибрати існуюче поле та відкрити його через властивість ( клацніть правою кнопкою миші на полі → Refactor → Encapsulate Field ... ).
Крім того, якщо вам не подобається реалізація "опори", ви можете створити власні фрагменти. Крім того, сторонній інструмент рефакторингу, як ReSharper , надасть вам ще більше функцій та полегшить створення більш просунутих фрагментів. Я рекомендую ReSharper, якщо ви можете собі це дозволити.
http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx
Відео, що демонструє використання фрагмента "опори" (серед іншого), за 3 хв 23 сек.
У візуальній студії 2019 виберіть такі властивості, як цей:
Потім натисніть Ctrl+r
і натиснітьCtrl+e
З'явиться діалогове вікно, на якому буде показано попередній перегляд змін, які будуть внесені у ваш код. Якщо все виглядає добре (що в основному буде), натисніть OK
.
У мене на моїй машині більше не встановлена Visual Studio (і я використовую Linux), але я пам’ятаю, що десь в одному з меню був майстер, який давав доступ до конструктора класів.
За допомогою цього майстра ви можете визначити всі деталі своїх класів, включаючи методи та атрибути. Якщо я добре пам’ятаю, був варіант, за допомогою якого ви могли попросити Visual Studio автоматично створити сетери та геттери.
Я знаю, що це зовсім невиразно, але перевіри це, і ти можеш його знайти.
Від імені інструмента Visual Studio ми можемо легко генерувати властивості C # за допомогою онлайн-інструменту під назвою C # generator.
Спочатку отримайте розширення, просто натисніть ( Ctrl+ Shift+X ) та встановіть геттер-сетер ....
Після цього просто виберіть змінну і клацніть правою кнопкою миші. Перейти до палітри команд ...
І введіть getter ... Він пропонує запропонувати методи отримання та встановлення. Натисніть на це ...
Ви просто натисніть Alt+ Insв студії Android.
Після оголошення змінних, ви отримаєте геттери та сеттери в згенерованому коді.