嗨我想合并两个对象在一起,这样我就可以使用合并的对象做别的事情。它实际上是一个简单的机场程序,我有“路线”和“”飞行“,如果我想要添加获得票我需要每个航班在路线上,如果你知道我的意思。但请注意,我不想比较them.and我有他们每个对象的数组,如果它有帮助C#合并两个或多个对象
IRoute R = new LocalRoute(port, destination, routenum);
IFlight F = new LocalFlight(time, date,capacity);
嗨我想合并两个对象在一起,这样我就可以使用合并的对象做别的事情。它实际上是一个简单的机场程序,我有“路线”和“”飞行“,如果我想要添加获得票我需要每个航班在路线上,如果你知道我的意思。但请注意,我不想比较them.and我有他们每个对象的数组,如果它有帮助C#合并两个或多个对象
IRoute R = new LocalRoute(port, destination, routenum);
IFlight F = new LocalFlight(time, date,capacity);
我会给Flight
对象一Route
财产。这对我来说比创建一个班级同时拥有一个航班和一条航线更有意义,因为在现实世界中,航班应该知道它必须采用哪条航线。
例如:
public class Route {
public int Number { get; private set; }
public string Port { get; private set; }
public string Destination { get; private set; }
public Route(int number, string port, string destination) {
Number = number;
Port = port;
Destination = destination;
}
}
public class Flight {
public DateTime DepartureTime { get; private set; }
public int Capacity { get; private set; }
public Route Route { get; private set; }
public Flight(DateTime departureTime, int capacity, Route route) {
DepartureTime = departureTime;
Capacity = capacity;
Route = route;
}
}
然后你就可以有可能的路线列表和航班的列表,每个都有一个路由的参考。
这会你在找什么?
public class FlightDetails
{
IRoute Route {get;set}
IFlight Flight {get;set;}
}
为了更清晰的画面,你可以做这样的事情
public class FlightDetails
{
IRoute Route {get;set}
IFlight Flight {get;set;}
public FlightDetails(IRoute r,IFlight f)
{
this.Route = r;this.Flight = f;
}
}
IRoute R = new LocalRoute(port, destination, routenum);
IFlight F = new LocalFlight(time, date,capacity);
FlightDetails Fd = new FlightDetails(R,F);
这听起来像你只需要以这两个为属性创建一个类型。 (我个人预计航班会知道它的路线,请记住你 - 有什么理由不对吗?) –
那么这就是我想要的,一个航班应该知道它的路线,但是怎么样? –
最好的方法是创建具有这两个对象类型属性的新类。然后,您可以添加一个构造函数,该构造函数接受两个对象的所有参数,以便可以在一次调用中初始化这些参数。 –