Есть некая база
new ItemModel("Water", 0, 1, 0),
new ItemModel("Ballast", 0, 1, 0),
new ItemModel("Oil", 0, 1, 0),
и соответственно числам есть некие формулы
private int _weight;
public int Weight
{
get => _weight;
set
{
_weight = value;
//_volume = value / _sg;
RaisePropertyChanged();
}
}
private int _sg;
public int Sg
{
get => _sg;
set
{
_sg = value;
Volume = _weight / value;
Weight = value * _volume;
RaisePropertyChanged();
}
}
private int _volume;
public int Volume
{
get => _volume;
set
{
_volume = value;
_weight = value * _sg;
RaisePropertyChanged();
}
}
меня интересует данный момент
_volume = value / _sg;
так как по сути формула - 0=0/1 но компилятор выдаёт мне запрет деления на ноль
class ItemModel
{
public ItemModel(string name, int weight, int sg, int volume)
{
Name = name;
Weight = weight;
Sg = sg;
Volume = volume;
}
public string Name { get; set; }
public int Weight { get; set; }
public int Sg { get; set; }
public int Volume { get; set; }
}
ItemModel("Water", 0, 1, 0)
Если инициализация свойств идет в таком порядке: Weight, Sg, Volume, то при инициализации Weight должен быть инициализирован Sg :
private int _weight;
public int Weight
{
get => _weight;
set
{
_weight = value;
//_volume = value / _sg; здесь _sg еще не инициализирован и равен 0.
RaisePropertyChanged();
}
}
Наилучшим решением будет, присваивать параметры не через сеттер, а сразу полям:
_weight = argWeght;
_sg = argSg;
_volume = argValue;
дальше:
private int _weight;
public int Weight
{
get { return _weight; }
set
{
_weight = value;
_volume = value / _sg;
//т.к. все свойства зависят друг от друга, то необходимо оповестить их об изменении
RaisePropertyChanged("Weight");
RaisePropertyChanged("Value");
RaisePropertyChanged("Sg");
}
}
public ItemModel(string name, int weight, int sg, int volume)
{
_name = name;
_weight = weght;
_sg = sg;
_volume = volume;
}
и с остальными свойствами проделать такие же манипуляции
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Задача из двумерного массива вытаскивать его элементы в виде массивов
Подскажите, пожалуйста, как правильно сериализовывать/десериализовывать объекты в XML, имеющие взаимные ссылкиНапример, есть классы Car и Garage
Есть две таблицы comments и usersОни связаны между собой