如何从C#中的Class self返回类的对象?

时间:2016-11-26 11:41:48

标签: c#

在我的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;
    }
  }

2 个答案:

答案 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();
    }
}