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

Prevent visual studio from limiting the setter method to internal

好吧,我使用 visual studio 2015 CE,更新 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 创建 public setter,即:

public int Id { get; set; }

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

此致。

So my question is: is there any option to ask VS to create public setter, i.e.:

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

在 Visual Studio 2017 年仍然如此,我使用相同的 "productivity hack"。

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