使用变量创建构造函数的快捷方式(C#Visual Studio 2010)

时间:2012-01-17 11:39:49

标签: c# visual-studio-2010

在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;
}

8 个答案:

答案 0 :(得分:14)

你可以反过来这样做;如果你开始没有构造函数或字段,并尝试使用不存在的构造函数,你可以按 ctrl + 来询问它为您生成一个,使用优先:

enter image description here

然后,这个编译器会产生一些不太相似的东西:

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)

我认为你可以用一个片段做到这一点:

请参阅 Creating and Using IntelliSense Code Snippets (MSDN)

答案 5 :(得分:1)

正如其他人所说,不可能创建智能的片段。

有一个名为Comet的免费Visual Studio加载项,可以执行您想要的操作。

答案 6 :(得分:1)

如果您使用ReSharper,则快捷键为 Alt + 插入

Source

答案 7 :(得分:0)

使用ReSharper's ctorf

这将允许您根据类中定义的字段创建具有生成参数的构造函数。