/// <summary> /// 将参数保存到指定的参数提供器中 /// </summary> /// <param name="provider">参数存储器,如果为null将使用默认的参数存储器(即读取App.Config)</param> public virtual void SaveToSource(params ParameterProvider[] provider) { ParameterProvider prov = null; bool needDispose = false; if (provider == null || provider.Length == 0) { prov = new AppConfigProvider(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); needDispose = true; } else { prov = provider[0]; } Type Type = this.GetType(); FieldInfo[] fields = Type.GetFields(); foreach (FieldInfo item in fields) { prov.SetParameter(item.Name, item.GetValue(this)); } prov.SaveToSource(); if (needDispose) { prov.Dispose(); prov = null; } }
/// <summary> /// 初始化参数 /// </summary> /// <param name="provider">参数存储器,如果为null将使用默认的参数存储器(即读取App.Config)</param> public virtual void Initialize(string appconfigFile) { if (appconfigFile == null || appconfigFile == string.Empty) { appconfigFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; } if (File.Exists(appconfigFile)) { var appConofigProvider = new AppConfigProvider(appconfigFile); Initialize(new AppConfigProvider[] { appConofigProvider }); appConofigProvider.Dispose(); appConofigProvider = null; } }