Передача структур и их параметров методу - C#

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

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

Всем привет. Вот какая у меня возникла задача: Есть несколько структур. У каждой структуры есть n-ное количество параметров. Нужно создать такой метод, которому можно передать как параметр любую с этих структур и параметр, который нужно поменять (значение, на которое нужно параметр менять, будет найдено в самом методе исходя из названия параметра). Мысли меня привели к такой реализации: создаем класс с параметрами structRef - Ссылка на структуру (тип object) structType - Название структуры (тип String) parName - Название параметра (тип String) И вот надо структуру structRef привести к типу, записанному в structType и в полученной структуре установить параметру с названием parName некоторое значение. Не знаю, насколько бредовая такая реализация, но таким образом можно будет метод, который занимает около 200 строк уменьшить в разы. P.S. Если подобное слишком сложно в реализации, то поменяю структуры на классы и благодаря наследованию эта проблема решится. Но это в крайнем случае. Заранее спасибо все, кто откликнется.

Решение задачи: «Передача структур и их параметров методу»

textual
Листинг программы
        private void SetValue(ref object o, String parName, String value)
        {
            Type type = o.GetType();
            FieldInfo[] Members = type.GetFields();
 
            FieldInfo f = Members.Where<FieldInfo>(x => x.Name == parName).ElementAt(0);
            f.SetValue(o, value); 
        }

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


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

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

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