防止visual studio将setter方法限制为内部

Ali*_*eza 17 .net c# properties access-modifiers visual-studio-2015

好吧,我使用visual studio 2015 CE,更新2.我通常做的一个生产力黑客是我创建空模型类,如:

public class PersonModel
{
}
Run Code Online (Sandbox Code Playgroud)

然后在选择表达式中使用它们,如:

db.People.Where(p => someCondition)
.Select(p => new PersonModel
{
    Id = p.Id,
    Name = p.Name,
    //set other properties
}).ToList();
Run Code Online (Sandbox Code Playgroud)

然后我去了又非现有属性IdName...并按Control+.要求Visual Studio来generate property Id对我.一切都很好,但它会创造:

public int Id { get; internal set; }
Run Code Online (Sandbox Code Playgroud)

如果我在asp.net webapi模型绑定中使用相同的方法,绑定将无声地失败并给我Id = 0.

所以我的问题是:有没有选择让VS创建公共setter,即:

public int Id { get; set; }
Run Code Online (Sandbox Code Playgroud)

小智 1

所以我的问题是:是否有任何选项可以要求 VS 创建公共设置器,即:

不,无法修改快捷方式以自动添加具有公共集的属性。尽管你的生产力技巧很巧妙,但你最好的选择是自己创建它。