-1
public class AStreamManager
{
public IVehicle Vehicle { get; set; }
public string AIp { get; set; }
public int APort { get; set; }
public delegate NetworkStream ConnectToAStream(string host, int port);
public AStreamManager(IVehicle vehicle, string IP, int Port)
{
Vehicle = vehicle;
AIp = IP;
APort = Port;
}
public NetworkStream ConnectToVehicleAStream(ConnectToAStream conn)
{
return conn(AIp, APort); ;
}
}
public class BStreamManager
{
public IVehicle Vehicle { get; set; }
public string BIp { get; set; }
public int BPort { get; set; }
public delegate NetworkStream ConnectToBStream(string host, int port);
public BStreamManager(IVehicle vehicle, string IP, int Port)
{
Vehicle = vehicle;
BIp = IP;
BPort = Port;
}
public NetworkStream ConnectToVehicleBStream(ConnectToBStream conn)
{
return conn(BIp, BPort); ;
}
我有两个类AStreamManager
和BStreamManager
的部件。正如你在上面看到的,有一个类型为IVehicle
的成员变量Vehicle
,这在这些类中很常见。 它是否有意义,我能否以'IVehicle Vehicle`移动到基类来重构?
这些类是相同的。你为什么有两个?你可以将它们“重构”为一个StreamManager类,然后为AStream和BStream另外实例化一个? 'var aStream = new StreamManager(); var bStream = new StreamManager;' –
您的问题的答案是肯定的,您可以将Vehicle移动到基类。还要别的吗? –