| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using SKMC.Api.Common;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- namespace SKMC.Api.Recipe.Config
- {
- /// <summary>
- /// <para>档案配置器</para>
- /// <para>参数常量类可继承该类</para>
- /// </summary>
- public abstract class RecipeParamBase
- {
- protected readonly RecipeCacher recipeCacher = ObjectFactory.Resolve<RecipeCacher>();
- public void InitLoad()
- {
- foreach (RecipeParam param in recipeCacher.RecipePublicSwitchParams)
- {
- SetParameter(param);
- }
- foreach (RecipeParam param in recipeCacher.RecipePublicValueParams)
- {
- SetParameter(param);
- }
- foreach (RecipeParam param in recipeCacher.RecipePrivateSwitchParams)
- {
- SetParameter(param);
- }
- foreach (RecipeParam param in recipeCacher.RecipePrivateValueParams)
- {
- SetParameter(param);
- }
- }
- /// <summary>
- /// 设置单个参数到常量中
- /// </summary>
- /// <param name="processParam"></param>
- public void SetParameter(RecipeParam processParam)
- {
- FieldInfo field = GetType().GetField(processParam.Code, BindingFlags.Public | BindingFlags.Static);
- if (field != null)
- {
- field.SetValue(null, Convert.ChangeType(processParam.Value, field.FieldType));
- processParam.LastValue = processParam.Value;
- }
- }
- }
- }
|