如何创建一个对象,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文件。

+3

我建议你先阅读这个https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/object-oriented-programming – Miguel

+0

你已经声明了'Id'和'Tyres '作为'Car'的_nested classes_。但是你还没有宣布每个Car都必须有一个Id和一个Tyres属性,这意味着Car类的每个实例都不会有Id和轮胎。这是你想要的吗?查看[这篇文章](https://www.codeproject.com/Articles/20628/A-Tutorial-on-Nested-Classes-in-C)了解嵌套类的教程。 –

你应该分开你的类并使用嵌套类作为属性类型。

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" 
    };