2014-02-09 45 views
1

我创建了一个构造函数如下:C#:如何创建一个DateTime作为参数的构造函数?以及如何用这个构造函数创建一个对象?

public Animal(string regNum, DateTime brought, string name) 
{ 
    this.RegNumber = regNum; 
    this.DateBrought = brought; 
    this.Name = name; 
    this.NameNewOwner = null; 
} 

而基于以上的构造,我创建了一个名为pet的对象,如下所示:

Animal pet = new Animal("a12344", Convert.ToDateTime(23/01/2013), "Fluffy"); 

然而,当我运行我的程序它给我错误地说:Invalid cast from Int32 to DateTime任何人都可以帮助我吗?

+0

你试过'Convert.ToDateTime(“23/01/2013”​​)'?请注意引号。 – Tim

回答

5

构造函数不是问题。 Convert.ToDateTime电话是:

Convert.ToDateTime(23/01/2013); 

这相当于Convert.ToDateTime(0)(因为23/1/2013作为整数除法返回0),这是不可能的。

改为使用new DateTime(2013, 1, 23)

Animal pet = new Animal("a12344", new DateTime(2013, 1, 23), "Fluffy"); 

你也可以使用Convert.ToDateTime("23/01/2013"),这将相当于DateTime.Parse("21/01/2013")解析,但如果你知道在编译时的日期,你一定要使用DateTime构造。

相关问题