2017-03-08 42 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

相关问题