почему то ошибка возникает на этой строке:
Код - C#: [Выделить]
var ductDiametr = duct.Diameter * 0.3048;
Как же в таком случае поступить.Я бы как всегда начал с того, что в итоге получить надо?:) Толщину изоляции или толщину материала воздуховода?
Это не значение толщины изоляции и не толщина материала.... да это собственно и не важно, на мой взгляд.Это смотря с какой стороны посмотреть. Просто очень часто задачу пытаются решить не теми методами, которую ее надо решать, а используют костыли. Т.е. да, мы можем найти решение, как избавится от ошибки, путем различных проверок, но это будет костыльное решение. Возможно есть более элегантное решение.
Ведь получается исключение возникает, а почему оно возникает?Потому что нет диаметра у прямоугольника.
Вот смотрите, если в проекте я рисую прямоугольные воздуховоды и назначаю переменные которым присваивается Ширина и Высота и все работает без исключений, то почему я не могу присвоить переменной диаметр, конечно при этом нарисовать круглый воздухвод?Не понял. Если вы работаете с круглым воздуховодом, то при попытке получить диаметр не будет ошибки. Если с прямоугольным, то будет.
А если у категории воздуховодов один общий параметр, а значения у него должны быть разные в зависимости от того круглый воздуховод или прямоугольный.Так и определить, предложенным выше кодом. если есть диаметр, значит круглый, значит используем диаметр и записываем значение параметра, если нет диаметра, то берем ширину и высоту и их используем для записи в значение параметра.
Как определить именно у какого конкретно воздуховода есть диаметр, а у какого ширина и высота и в соответствии с этим уже параметр назначить.