есть структура 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; } Изменять поля структуры через рефлексию нельзя, но можно привести его к объекту, изменить в нём, а потом обратно заапкастить в структуру
Обсуждают сегодня