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



嗯,我用的是visual studio 2015 CE, update 2。我经常使用的一种提高效率的方法是创建空的模型类,如

public class PersonModel
{
}

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

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

然后我去到尚未存在的属性IdName,…按下Control+.,请visual studio为我制作generate property Id。这些都很好,但是这会产生:

public int Id { get; internal set; }

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

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

public int Id { get; set; }

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

不,没有办法修改快捷方式来自动添加带有公共集合的属性。虽然你的提高效率的方法很简单,但你最好还是自己创造它。

您可以通过输入prop并按两次TAB来实现。它将要求您输入属性的类型和名称,但不会从现有的属性中提取它。

问好。

在Visual Studio 2017中仍然相同,我使用相同的"生产力hack"。

我最近得到了Resharper,它确实使用了我们期望的公共setter

相关内容

  • 没有找到相关文章

最新更新