Изменение параметров собственного класса - C#
Формулировка задачи:
Я создал собственный класс. В классе описываю свойства. Ниже код (код привел не весь что бы не захламлять).
Далее я создаю этот объект
После работы с "hexagon", мне необходимо поменять его свойство "D" (или какое нибудь другое свойство).
Меняю так:
Но от свойства "D", зависят другие параметры. Как сделать, что бы пересчитывались остальные свойства зависящие от изменяемого параметра (R, b и так далее)?
Листинг программы
- public class my_hexagon
- {
- public double H { get; set; }
- public double D { get; set; }
- public double d { get; }
- public double R { get;}
- public double angle_ZX { get; set; }
- public my_point_double point_bottom_1 { get; }
- public my_hexagon() { }
- public my_hexagon(double Height, double Diameter, my_point_double base_point, double ZX_angle = 0, my_point_double point_of_rotate = null)
- {
- H = Height;
- D = Diameter;
- R = Math.Round(Diameter / 2.0, 10);
- b = Math.Round(2.0 * R * Math.Sin(30.0 * Math.PI / 180.0), 10);
- angle_ZX = ZX_angle;
- point_bottom_1 = new my_point_double(-R + base_point.X, 0 + base_point.Y, 0 + base_point.Z);
- point_bottom_1 = point_bottom_1.rotate(ZX_angle, point_of_rotate);
- }
- }
Листинг программы
- my_hexagon hexagon = new my_hexagon(Convert.ToDouble(dataGridView1[1, 0].Value), Convert.ToDouble(dataGridView1[0, 0].Value), point_of_displacement);
Листинг программы
- hexagon.D = 50;
Решение задачи: «Изменение параметров собственного класса»
textual
Листинг программы
- public class my_hexagon
- {
- public double H { get; set; } //автоматическими делайте только независимые свойства
- public double D { get; set; }
- //...
- public double R { get { return Math.Round(D / 2.0, 10); } } //у зависимых нужен только аксессор get
- //...
- public my_hexagon() { }
- public my_hexagon(double Height, double Diameter, my_point_double base_point, double ZX_angle = 0, my_point_double point_of_rotate = null)
- {
- H = Height; //в конструкторе инициализируйте только независимые
- D = Diameter;
- //...
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д