<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0-preview3.19551.4" />

ConfigurationSchemaErrors

using System.Collections.Generic; namespace System.Configuration { internal class ConfigurationSchemaErrors { private List<ConfigurationException> _errorsAll; private List<ConfigurationException> _errorsGlobal; private List<ConfigurationException> _errorsLocal; internal bool HasLocalErrors => ErrorsHelper.GetHasErrors(_errorsLocal); internal bool HasGlobalErrors => ErrorsHelper.GetHasErrors(_errorsGlobal); private bool HasAllErrors => ErrorsHelper.GetHasErrors(_errorsAll); internal int GlobalErrorCount => ErrorsHelper.GetErrorCount(_errorsGlobal); internal void AddError(ConfigurationException ce, ExceptionAction action) { switch (action) { case ExceptionAction.Global: ErrorsHelper.AddError(ref _errorsAll, ce); ErrorsHelper.AddError(ref _errorsGlobal, ce); break; case ExceptionAction.NonSpecific: ErrorsHelper.AddError(ref _errorsAll, ce); break; case ExceptionAction.Local: ErrorsHelper.AddError(ref _errorsLocal, ce); break; } } internal void SetSingleGlobalError(ConfigurationException ce) { _errorsAll = null; _errorsLocal = null; _errorsGlobal = null; AddError(ce, ExceptionAction.Global); } internal bool HasErrors(bool ignoreLocal) { if (!ignoreLocal) return HasAllErrors; return HasGlobalErrors; } internal void ThrowIfErrors(bool ignoreLocal) { if (!HasErrors(ignoreLocal)) return; if (HasGlobalErrors) throw new ConfigurationErrorsException(_errorsGlobal); throw new ConfigurationErrorsException(_errorsAll); } internal List<ConfigurationException> RetrieveAndResetLocalErrors(bool keepLocalErrors) { List<ConfigurationException> errorsLocal = _errorsLocal; _errorsLocal = null; if (keepLocalErrors) ErrorsHelper.AddErrors(ref _errorsAll, errorsLocal); return errorsLocal; } internal void AddSavedLocalErrors(ICollection<ConfigurationException> coll) { ErrorsHelper.AddErrors(ref _errorsAll, coll); } internal void ResetLocalErrors() { RetrieveAndResetLocalErrors(false); } } }