C# 我不知道如何让我的类使用彼此的信息

C# 我不知道如何让我的类使用彼此的信息,c#,class,C#,Class,在我的代码中,我试图让Customer类使用我创建的地址,让Company类使用我创建的地址,但我无法理解 class Program { public static void Main() { var address = new Address("56 Main St", "Mesa", "AZ", "38574"); } } public class Address { p

在我的代码中,我试图让Customer类使用我创建的地址,让Company类使用我创建的地址,但我无法理解

class Program
    {
      public static void Main()
        {
            var address = new Address("56 Main St", "Mesa", "AZ", "38574");

        }

    }
    public class Address
    {
        public string Street { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string ZipCode { get; set; }

        public Address(string Street, string City, string State, string ZipCode)
        {

        }
    }

    public class Customer 
    {
        public long Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }

        public Customer(string FirstName, string LastName)
        {

        }


    }
    public class Company
    {
        public string CompanyName { get; set; }

    }
}

Customer
Company
类中添加
Address
字段,例如
public Address MyAddress{get;set;}

然后您可以这样使用它:

var company = new Company();
Company.MyAddress = address;

你差点就成功了。您只需要在构造函数中要求一个
地址
,并使用传入的地址设置相应的属性

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string ZipCode { get; set; }

    public Address(string street, string city, string state, string zipCode)
    {
        Street = street;
        City = city;
        State = state;
        ZipCode = zipCode;
    }
}

public class Customer
{
    public long Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public Address Address { get; set; }

    public Customer(long id, string firstName, string lastName, Address address)
    {
        Id = id;
        FirstName = firstName;
        LastName = lastName;
        Address = address;
    }


}

public class Company
{
    public string CompanyName { get; set; }
    public Address Address { get; set; }

    public Company(string companyName, Address address)
    {
        CompanyName = companyName;
        Address = address;
    }
}
然后,您所需的代码将工作:

var address = new Address("56 Main St", "Mesa", "AZ", "38574");
var customer = new Customer("John", "Doe", address);
var company = new Company("Google", address);

嗨,Dathon,你应该对你的问题说得更清楚一点。你的应用程序崩溃了吗?你有任何错误信息吗?你试图用什么来解决你的问题?我正在努力让这些语句起作用。var address=新地址(“56 Main St”,“Mesa”,“AZ”,“38574”);var客户=新客户(“约翰”,“能源部”,地址);var company=新公司(“谷歌”,地址);您有一个额外的大括号,并且没有设置任何属性/字段。Ctor不会自动设置字段。你的代码没有做任何有用的事情。查找字段和属性初始化的基础知识。如果希望这些语句正常工作,则需要更新
公司
客户
类的构造函数,以接受地址,例如
公共客户(string FirstName、string LastName、address address)