可以VS 2012專業生成一個沒有任何插件的類構造函數嗎?VS 2012可以生成類構造函數嗎?
我不能相信我無法找到這樣做的選項,如果不能做到這一點,它確實是一個陰謀:)
我有我的類中定義:
public class User
{
public int Id {get;set;}
public string Name {get;set;}
}
現在有一個快捷方式會產生構造函數,toString()
方法等?
可以VS 2012專業生成一個沒有任何插件的類構造函數嗎?VS 2012可以生成類構造函數嗎?
我不能相信我無法找到這樣做的選項,如果不能做到這一點,它確實是一個陰謀:)
我有我的類中定義:
public class User
{
public int Id {get;set;}
public string Name {get;set;}
}
現在有一個快捷方式會產生構造函數,toString()
方法等?
snippets內置,你可以添加自己的。 ctor會做構造函數,我不認爲ToString有什麼用,儘管你只需鍵入override,就可以從列表中選擇它並將它存儲。
「ctor」片段會生成一個構造函數,但不帶參數。爲了得到它們,你不幸會使用(免費或不可用)插件。這個問題已經被討論過,例如參見Shortcut for creating constructor with variables (C# VS2010)。
我認爲沒有直接的意思在裸露的Visual Studio中生成參數化構造函數。
編輯:我應該在我的最後一句之後添加「......嚴格適用於當前在類中定義的屬性和字段」。但是,是的,遵循彼得的建議,可以生成一種參數化的構造函數。
另一個問題的詳細信息,它*是*可能的,並且早在2010年就有文檔記錄http://msdn.microsoft.com/zh-cn/library/dd409796(v=vs.100).aspx – 2014-10-02 20:08:12
@PeterRitchie不同意。 「生成使用」並非嚴格意義上的「在位生成構造函數」:參數順序和名稱與類中現有的道具和字段不匹配!很高興提及它,因爲它可能有幫助,但是這種解決方案遠不如R#ctor一代高效。 – AFract 2014-10-02 20:13:40
問題只規定「生成類構造函數」... – 2014-10-02 20:21:12
如果你需要一個默認構造函數,那麼它就是code snippet ctor
。
但是如果你需要一個帶參數的構造函數,然後在你的代碼寫:
User user = new User(2, "Name");
這將是一個錯誤,因爲有兩個參數沒有構造函數,但你會得到下一個藍色的如果您將鼠標懸停在的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
,並且還在構造函數中重命名參數。這可能是最好的,你可以用只有視覺工作室。
參見:Generate From Usage - MSDN(感謝@Peter裏奇)
考慮安裝重新沙坡它有generating not only constructor但其他非常有用的代碼更好的選擇。
參見http://msdn.microsoft.com/en-us/library/dd409796(v=vs.100) .aspx – 2014-10-02 20:08:45
@PeterRitchie,這是非常有用的鏈接。 – Habib 2014-10-02 20:12:09
謝謝,但它好像vs.net的設計實際上沒有代碼。我不想寫出那行只是爲了生成一個構造函數。當然,它也有很好的選擇,但是當我創建一個類時,我想生成一個完整的構造函數! – 2014-10-02 20:12:13
自動生成? – BradleyDotNET 2014-10-02 19:43:29
Re-sharper可以做到這一點...但視覺工作室沒有這種選擇。 – 2014-10-02 19:44:57
@BradleyDotNET是的,我已經更新了我的問題,以澄清我所要求的。 – 2014-10-02 19:45:09