在Visual Studio 2010 C#中,您可以在类中键入ctor
,然后按 tab ,Visual Studio将为我创建该类的构造函数。这很方便。
但有没有办法让Visual Studio创建一个包含所有变量,属性等的构造函数?
例如,
public class User
{
public String UserName { get; private set; }
}
为此,我希望ctor
+ 标签让我成为
public User(string UserName)
{
this.UserName = UserName;
}
答案 0 :(得分:14)
你可以反过来这样做;如果你开始没有构造函数或字段,并尝试使用不存在的构造函数,你可以按 ctrl + 。来询问它为您生成一个,使用优先:
然后,这个编译器会产生一些不太相似的东西:
public class User
{
private string username;
public User(string username)
{
// TODO: Complete member initialization
this.username = username;
}
}
如果需要,您可以手动修复此问题(可能使用内置的重命名重构等)。但不是相当你想要的。
答案 1 :(得分:10)
我认为你所指的是Code Snippets。您可以编写自己的代码片段(它们是用XML编写的)。请参阅here作为起点。
您还应该能够编辑现有的代码片段(例如ctor
)。有关此问题,请参阅MSDN。
注意:在代码片段上进一步使用Google搜索会带来更多教程和参考资料。
答案 2 :(得分:4)
感谢Samuel Slade(告诉我它被称为代码片段)我设法找到另一个Stack Overflow答案: Snippet code to create constructor in VS2010 Express
似乎答案是否,不是没有插件/扩展程序。
许多人参考ReSharper扩展名。
答案 3 :(得分:2)
“ctor”代码段仅创建一个空白构造函数,但不使用此构造函数中类的现有属性。
但是,最新版本的ReSharper使您可以选择要包含在构造函数中的字段(就像很久以前的Eclipse一样)。
答案 4 :(得分:1)
我认为你可以用一个片段做到这一点:
答案 5 :(得分:1)
正如其他人所说,不可能创建智能的片段。
有一个名为Comet的免费Visual Studio加载项,可以执行您想要的操作。
答案 6 :(得分:1)
答案 7 :(得分:0)
使用ReSharper's ctorf 。
这将允许您根据类中定义的字段创建具有生成参数的构造函数。