在我的C#代码中,我有一个包含属性和函数的类。现在,我希望我的函数GetCar返回带有值的类类型的对象。
我的代码中有错误,但无法找到它。
public class Car
{
public int CarHouseID { set; get; }
public int CarsInHouse{ set; get; }
public int CarSold { set; get; }
public Car GetCar()
{
return Car;
}
}
答案 0 :(得分:2)
我认为你应该有如下代码:
public Car GetCar()
{
return this;
}
答案 1 :(得分:0)
用于创建具有构造函数的对象。除非您在类上定义自己的构造函数,否则它会隐式附带一个公共无参数构造函数(也称为公共默认构造函数)。由于您尚未定义构造函数,因此可以使用以下调用创建新实例:
Car car = new Car();
您要查找的关键字是new
,它通过调用其构造函数来创建实例。
如果你想首先初始化对象,你可以使用一个创建对象并返回它的方法(这似乎是你正在寻找的东西)。这称为工厂方法。您的示例中的工厂方法的问题(除了没有构造函数调用的事实)是它在对象上定义。这意味着您已经需要一个实例来创建实例。这显然不起作用。因此,您必须在类上创建工厂方法,而不是在实例上创建(称为类方法)。声明类方法时在C#中标记static
:
public class Car
{
public int CarHouseID { set; get; }
public int CarsInHouse{ set; get; }
public int CarSold { set; get; }
public static Car GetCar()
{
return new Car();
}
}