【发布时间】:2023-03-09 10:08:01
【问题描述】:
以下程序将失败,因为 Contracts 未实例化。
当然我可以在我的构造函数中实例化它,但是如果我有几十个属性和/或多个构造函数,我必须跟踪哪些被实例化了,等等。
当然,我可以使用完整的获取和设置以及私有字段变量等为这些属性创建大块。但这也会变得混乱。
难道没有办法用漂亮的 C# 属性语法自动实例化这些集合吗?
using System;
using System.Collections.Generic;
namespace TestProperty232
{
class Program
{
static void Main(string[] args)
{
Customer customer = new Customer();
customer.FirstName = "Jim";
customer.LastName = "Smith";
Contract contract = new Contract();
contract.Title = "First Contract";
customer.Contracts.Add(contract);
Console.ReadLine();
}
}
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<Contract> Contracts { get; set; }
public Customer()
{
//Contracts = new List<Contract>();
}
}
public class Contract
{
public string Title { get; set; }
}
}
【问题讨论】:
标签: c# syntax properties