如何创建一个对象,C#
问题描述:
如何创建在C#中的对象时,你有下面的代码:如何创建一个对象,C#
namespace WindowsFormsApp
{
class Car
{
public class Id
{
public string brand { get; set; }
public string model { get; set; }
public string year { get; set; }
public string r_no { get; set; }
public string owner { get; set; }
}
public class Tires
{
public string front_value_mm { get; set; }
public string back_value_mm { get; set; }
public bool front_back { get; set; }
}
}
}
我试着写类似的东西: (这是我第一次用C#)
I Car car = new Car();
Car.Id = car("Toyota", "Corolla", "1995", "AE2445", "James Cordel");
我知道它无权构建。所以我问我是否正确创建了这个代码? 我需要创建一个新的汽车对象,该对象将包含有关汽车的所有信息,并且稍后会将这些有关创建汽车的信息发送到json文件。
答
你应该分开你的类并使用嵌套类作为属性类型。
namespace WindowsFormsApp
{
class Car
{
public Id Id { get; set; }
public Tires Tires { get; set; }
}
public class Id
{
public string brand { get; set; }
public string model { get; set; }
public int year { get; set; }
public string r_no { get; set; }
public string owner { get; set; }
}
public class Tires
{
public string front_value_mm { get; set; }
public string back_value_mm { get; set; }
public bool front_back { get; set; }
}
}
现在你可以新建一个嵌套值的汽车类。
var car = new Car
{
Id = new Id
{
brand = "Honda",
model = "Civic",
year = 2017,
r_no = "r_no",
owner = "owner"
},
Tires = new Tires
{
front_value_mm = "front_value_mm",
back_value_mm = "back_value_mm",
front_back = true
}
}
然后,您应该可以像这样访问嵌套的属性。
var brand = Car.Id.brand // Honda
如果你想使用参数赋值,你需要一个构造方法。
答
简短的回答:
# You want to create object of Car.Id, so declare variable of that type
Car.Id carId;
# Then you create "new" Car.Id:
carId = new Car.Id {
brand = "Toyota",
model = "Corolla",
year = "1995",
r_no = "AE2445",
owner = "James Cordel",
}
答
创建子类的实例
希望这有助于。请记住,您的代码中的任何地方都可以访问公共课程。
Car.Id id = new Car.Id();
id = new Car.Id
{
brand = "Toyota",
model = "Corolla",
owner = "James Cordel",
year = "1995",
r_no = "AE2445"
};
我建议你先阅读这个https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/object-oriented-programming – Miguel
你已经声明了'Id'和'Tyres '作为'Car'的_nested classes_。但是你还没有宣布每个Car都必须有一个Id和一个Tyres属性,这意味着Car类的每个实例都不会有Id和轮胎。这是你想要的吗?查看[这篇文章](https://www.codeproject.com/Articles/20628/A-Tutorial-on-Nested-Classes-in-C)了解嵌套类的教程。 –