C# 我不知道如何让我的类使用彼此的信息
在我的代码中,我试图让Customer类使用我创建的地址,让Company类使用我创建的地址,但我无法理解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
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)