VS 2012专业版可以生成一个没有任何插件的类构造函数吗?
我无法相信我找不到这样做的选择,如果做不到,那真的是一个阴谋:)
我定义了我的课程:
public class User
{
public int Id {get;set;}
public string Name {get;set;}
}
现在有一个快捷方式会生成构造函数,toString()
方法等吗?
答案 0 :(得分:3)
如果您需要默认构造函数,那么它有一个code snippet ctor
。
但是如果你需要一个带参数的构造函数,那么在代码中写:
User user = new User(2, "Name");
这将是一个错误,因为没有包含两个参数的构造函数,但如果将鼠标悬停在User
中的new User
上,则会获得蓝色下划线。点击它或将光标放在User
上,然后按Ctrl + .
它将为您提供生成构造函数的选项,如:
这将为您提供一个包含以下字段的构造函数:
public class User
{
private int p1;
private string p2;
public User(int p1, string p2)
{
// TODO: Complete member initialization
this.p1 = p1;
this.p2 = p2;
}
public int Id { get; set; }
public string Name { get; set; }
}
然后,您必须进入并移除p1
,p2
并指向Id
,Name
,并在构造函数中重命名参数。这可能是您使用唯一 Visual Studio所能做的最好的事情。
请参阅:Generate From Usage - MSDN (感谢@Peter Ritchie)
考虑安装Re-Sharper,它有更好的generating not only constructor选项,但其他非常有用的代码。
答案 1 :(得分:0)
snippets,您可以添加自己的内容。 ctor将构建构造函数,我不认为ToString有什么东西,尽管你可以只输入覆盖,从列表中选择它并将它存根。
答案 2 :(得分:-1)
"构造函数"片段生成构造函数,但没有参数。为了得到它们,不幸的是你应该使用(免费或不使用)插件。这个问题已经讨论过了,例如Shortcut for creating constructor with variables (C# VS2010)。
我认为在裸Visual Studio中生成参数化构造函数没有直接意义。
编辑:我应该在我的最后一句" ...之后添加,它严格适用于当前在课程#34;中定义的属性和字段。但是,按照彼得的建议,可以生成一种参数化构造函数。