Ответ 1
Вы можете сделать это, набрав prop
и дважды нажмите TAB
. Это потребует, чтобы вы вводили тип и имя для свойства, но не извлекаете его из существующего.
С наилучшими пожеланиями.
Ну, я использую visual studio 2015 CE, обновление 2. Один взлом производительности, который я обычно делаю, заключается в том, что я создаю пустые классы моделей, такие как:
public class PersonModel
{
}
а затем использовать их в выбранном выражении, например:
db.People.Where(p => someCondition)
.Select(p => new PersonModel
{
Id = p.Id,
Name = p.Name,
//set other properties
}).ToList();
Затем я Control+.
к еще несуществующим свойствам Id
и Name
,... и нажмите Control+.
попросить визуальную студию generate property Id
для меня. Все отлично, но это создаст:
public int Id { get; internal set; }
и если я использую тот же метод в модели WebAPI asp.net связывание, связывание потерпит неудачу тихо и дать мне Id = 0
.
Поэтому мой вопрос: есть ли какой-либо вариант попросить ВС создать публичный сеттер, то есть:
public int Id { get; set; }
Вы можете сделать это, набрав prop
и дважды нажмите TAB
. Это потребует, чтобы вы вводили тип и имя для свойства, но не извлекаете его из существующего.
С наилучшими пожеланиями.
Поэтому мой вопрос: есть ли возможность попросить VS создать открытый сеттер, то есть:
Нет, нет способа изменить ярлык для автоматического добавления свойства с открытым набором. Несмотря на то, что ваш продуктивный хак аккуратен, лучше всего создать его самостоятельно.
В Visual Studio 2017 все то же самое, и я использую тот же "взлом производительности".
Недавно я получил Resharper, и он использует публичный сеттер, как и следовало ожидать.