есть структура Parameters и enum ParametersType, который повторяет имена полей из структуры
                  
                  
                  public void SetParameter(ParameterType type, float value)
                  
                  
                          {
                  
                  
                              var name = Enum.GetName(typeof(ParameterType), type);
                  
                  
                              typeof(Parameters).GetField(name).SetValue(this, value);
                  
                  
                          }
                  
                  
                  это метод в структуре
                  
                  
                
public void SetParameter(ParameterType type, float value) { Parameters newParameters = this; object _obj = newParameters; var name = Enum.GetName(typeof(ParameterType), type); _obj.GetType().GetField(name).SetValue(_obj, value); this = (Parameters) _obj; } Изменять поля структуры через рефлексию нельзя, но можно привести его к объекту, изменить в нём, а потом обратно заапкастить в структуру
Обсуждают сегодня