簡體   English   中英

使用變量創建構造函數的快捷方式(C#Visual Studio 2010)

[英]Shortcut for creating constructor with variables (C# Visual Studio 2010)

在Visual Studio 2010 C#中,您可以在類中鍵入ctor ,然后按Tab鍵,Visual Studio將為我創建該類的構造函數。 這很方便。

但有沒有辦法讓Visual Studio創建一個包含所有變量,屬性等的構造函數?

例如,

public class User
{
    public String UserName { get; private set; }
}

為此我想要ctor + tab讓我成為一個

public User(string UserName)
{
    this.UserName = UserName;
}

你可以用另一種方式做到這一點; 如果你在沒有構造函數或字段的情況下啟動,並嘗試使用不存在的構造函數,則可以按ctrl + 要求它為您生成一個,使用優先:

在此輸入圖像描述

然后這個編譯器生成一些不太相似的東西:

public class User
{
    private string username;

    public User(string username)
    {
        // TODO: Complete member initialization
        this.username = username;
    }
}

然后,您可以根據需要手動修復此問題(可能使用內置的重命名重構等)。 但不完全是你想要的。

我認為你所指的是Code Snippets。 您可以編寫自己的代碼片段(它們是用XML編寫的)。 請看這里的起點。

您還應該能夠編輯現有的代碼片段(例如ctor one)。 有關此問題,請參閱MSDN

注意:代碼片段上的進一步Google搜索將帶來更多教程和參考。

感謝Samuel Slade(告訴我它被稱為代碼片段)我設法找到另一個Stack Overflow答案: 在VS2010 Express中創建構造函數的代碼段代碼

似乎答案是否定的 ,不是沒有插件/擴展。

許多人參考ReSharper擴展。

“ctor”代碼段僅創建一個空白構造函數,但不使用此構造函數中類的現有屬性。

但是,最新版本的ReSharper使您可以選擇要包含在構造函數中的字段(就像很久以前的Eclipse一樣)。

正如其他人所指出的那樣,不可能創建智能的片段。

有一個名為Comet的免費Visual Studio加載項可以執行您想要的操作。

如果您使用的是ReSharper,則快捷鍵為Alt + Insert

資源

我想你可以用一個片段做到這一點:

請參閱創建和使用IntelliSense代碼段 (MSDN)

使用ReSharper的 ctorf

這將允許您基於類中定義的字段創建具有生成的參數的構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM