2017-03-08 81 views
-2

我已經用{get; set;}設置了類的所有屬性,每次我點擊generate構造函數,它都會給我這個消息:遊標必須位於構造函數調用中。我也無法找到關於此消息的任何信息。在Visual Studio中生成構造函數C#不起作用...爲什麼?

using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ISYAbschlussProjektJ 
{ 
    public class Loan 
    { 
     public string bank { get; set; } 
     public double amount { get; set; } 
     public double rate { get; set; } 
     public string address { get; set; } 
     public string phonenumber { get; set; } 
     public string email { get; set; } 
     public string aktenzeichen { get; set; } 
     public string iban { get; set; } 
     public string bic { get; set; } 
     public string betreuer { get; set; } 
     public DateTime deductiondate { get; set; } 
     public DateTime startdate { get; set; } 


    } 
} 
+0

給我們看一些代碼。你有什麼嘗試? – Nino

+1

我認爲這是說你需要寫一個構造函數調用,例如'新的MyClass(「one」,2)'和VS可以生成一個具有適當參數的構造函數。 –

+0

究竟是什麼參數?我在哪裏添加這個?謝謝:) – jasminrandom

回答

3

你爲什麼不自己寫構造函數?構造函數必須與封閉類具有相同的名稱,並且沒有返回類型。在你的情況,構造可以

public Loan() 
{ 
} 

如果需要的話,你可以在構造函數傳遞額外的參數,如:

public Loan(string bankParam) 
{ 
    this.bank = bankParam; 
} 

你可以有各種場景的一個或多個構造(但他們必須有不同數量/或類型的參數)。進一步的解釋請參考MSDN programming guide

此外,它是很好的做法,用大寫字母,名字屬性,如BankAmount˛

編輯:因爲你在代堅持,你可以把它像這樣(我測試在2015年VS,在其他版本中應該類似):

要生成構造函數,必須使用構造函數。 因此,地方在你的代碼(不是Loan類)寫例如您的構造函數調用的,就像這樣:

Loan l = new Loan("Erste bank", 10.0, 0.5, "Strasse 1"); 

,那麼你可以右擊該行並選擇「快速行動和重構」(或類似選項在VS中),或點擊燈泡並選擇「在貸款中生成構造函數」。這將產生你 public Loan(string s, decimal d, decimal p, string d)或這樣的事情...

不過,我不會推薦的,因爲缺乏控制,奇變量命名等等等等,太多事巫術和代碼生成的...但是,你自便。

+0

首先,我想用快捷鍵來節省時間,因爲我有12個參數和一些需要構造函數的類....我也無法找到MSDN上的任何東西 – jasminrandom

+0

@ jasminrandom我編輯了我的答案並添加了額外的解釋。另外,請看mehdi的答案,以生成具有所有屬性的構造函數。 – Nino

4

你忘了類的構造函數

public class Loan 
{ 
    /* Empty constructor */ 
    public Loan() { } 
} 

要生成構造包括所有參數(VS 2015年):

  • 選擇所有屬性
  • 右鍵/「快速操作和重構「
  • 生成構造ctor'Loan(string,double,double,string,string,...'
+0

不,我沒有寫一個構造函數,因爲首先我想包括所有的參數,我試圖生成它,但它不工作.. – jasminrandom

+0

我的解決方案是否工作? –

+0

@Mehdi這是工作的答案。這是upvote :) – Nino

相關問題