private void processor(object value, int ui, Control sender) { if (ui == 0) { try { if (red_text.Text.Length < 1) { _m_red_func = _default_color_func(1.85, 0); } else { Delegate del = RuntimeFunctionCompilator.CompileFunc(Replacer(red_text.Text)); _red_str = red_text.Text; _m_red_func = (Func <double[], double>)del; } } catch { MessageBox.Show("Неправильно введена функция для красного компонента!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); } try { if (green_text.Text.Length < 1) { _m_green_func = _default_color_func(1.85, 0); } else { Delegate del = RuntimeFunctionCompilator.CompileFunc(Replacer(green_text.Text)); _green_str = green_text.Text; _m_green_func = (Func <double[], double>)del; } } catch { MessageBox.Show("Неправильно введена функция для зелёного компонента!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); } try { if (blue_text.Text.Length < 1) { _m_blue_func = _default_color_func(1.85, 0); } else { Delegate del = RuntimeFunctionCompilator.CompileFunc(Replacer(blue_text.Text)); _blue_str = blue_text.Text; _m_blue_func = (Func <double[], double>)del; } } catch { MessageBox.Show("Неправильно введена функция для синего компонента!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } _fcm_on_FractalColorModeChangedHandler(); }
/*_____________________________________________________________Частные_утилиты_класса_______________________________________________________________*/ #region Private utilities of class private void check_all_functions() { if (_m_red_func == null) { _m_red_func = string.IsNullOrEmpty(_red_str) ? _default_color_func(1.85, 0) : (Func <double[], double>)RuntimeFunctionCompilator.CompileFunc(Replacer(_red_str)); } if (_m_green_func == null) { _m_green_func = string.IsNullOrEmpty(_green_str) ? _default_color_func(1.4, 0) : (Func <double[], double>)RuntimeFunctionCompilator.CompileFunc(Replacer(_green_str)); } if (_m_blue_func == null) { _m_blue_func = string.IsNullOrEmpty(_blue_str) ? _default_color_func(1.8, 0) : (Func <double[], double>)RuntimeFunctionCompilator.CompileFunc(Replacer(_blue_str)); } }