Обращение к полям метода - C#

Узнай цену своей работы

Формулировка задачи:

Ситуация такая: имеется метод класса с множеством порядка 50 объектов структур. Так же имеется еще пять методов, которые тоже используют все эти структуры. Каким образом обеспечить доступ всем этим методам ко всем структурам? Пересылать каждый объект при помощи "ref" в каждый метод ужасно загромождает код. Если запихнуть все структуры в массив и передавать массив, то разобраться в коде по полученным именам структур будет просто нереально. Составить код в одном методе тоже жутко запутано (листинг кода программы в одном файле занимает порядка 30 листов) поэтому хотелось бы разбить на отдельные файлы-методы. Посоветуйте как тут быть?

Решение задачи: «Обращение к полям метода»

textual
Листинг программы
        class Data
        {
           public struct Istochnic
            {
                public int A;
            }
 
           public struct Points
            {
               public int B;
            }
            
            public Istochnic  PGU,TG5, TG6, TG7, TG8, KVGM, PTVM, SN9;
            public Points t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
            public Points t11, t12, t13, t14, t15, t16, t17, t18, t19, t20;
            public Points t21, t22, t23, t24, t25, t26, t27;
            public Points SNpgu, SNtc, SN, t4tc, t4pgu;
            public Points M3, M4, M5, M6, M8, M36, M55, M1, M2;                       
        }
 
 
 
        class Optimization
        {
            public void optim18p(Data data)
            {
              data.PGU.A = 10;
              data.t1.B = 15;
             
            }
        }
 
 
        Data data; 
 
        public Form1()
        {
            data = new Data();
            InitializeComponent();
        }
 
        
        
        private void button1_Click(object sender, EventArgs e)
        {
            Optimization optimization = new Optimization();
 
 
            MessageBox.Show(" значение PGU.A до метода  optim18p" + Environment.NewLine + data.PGU.A.ToString());
 
            optimization.optim18p(data);
 
            MessageBox.Show(" значение PGU.A после метода optim18p " + Environment.NewLine + data.PGU.A.ToString());
            
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы