У меня есть два класса, один из которых называется склад, а другой - склад. В настоящее время wareHouse может создавать, хранить и находить ящики в хранилище.
Но теперь мне также нужно, чтобы склад мог создавать клонированную версию wareHouseLocation со всей хранимой информацией.
locations = new List<WareHouseLocation>();
Это список, в котором я храню всю информацию. Я хочу иметь возможность скопировать его.
Я пытался найти ответ сам и даже попробовал какой-то код, но до сих пор у меня не было ничего, что работает должным образом.
public WareHouseLocation DeepCopy()
{
foreach (WareHouseLocation wareHouseLocation in locations)
{
if(wareHouseLocation == null)
{
return null;
}
else
{
//Need code here
}
}
return null;
}
Кодв настоящее время в классе wareHouse. Я рад за все, что может мне помочь.
public class WareHouseLocation
{
public int FloorID { get; set; }
public List<I3DStorageObject> storage = new List<I3DStorageObject>();
public double MaxVolume;
public double MaxWeight;
public WareHouseLocation(double height, double width, double depth)
{
MaxVolume = height * width * depth;
MaxWeight = 1000;
}
public bool hasAvailableVolumeForObject(I3DStorageObject s)
{
double currentVolume = 0;
foreach (I3DStorageObject obj in storage)
{
currentVolume += obj.Volume;
}
double available = MaxVolume - currentVolume;
if (s.Volume <= available)
{
return true;
}
else
{
return false;
}
}
}
Вот код для WareHouseLocation.