Передача структур и их параметров методу - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д