SectionInput
class SectionInput
using System.Collections.Generic;
using System.Diagnostics;
namespace System.Configuration
{
[DebuggerDisplay("SectionInput {SectionXmlInfo.ConfigKey}")]
internal class SectionInput
{
private static readonly object s_unevaluated = new object();
private readonly List<ConfigurationException> _errors;
private ProtectedConfigurationProvider _protectionProvider;
internal SectionXmlInfo SectionXmlInfo { get; }
internal bool HasResult => Result != s_unevaluated;
internal bool HasResultRuntimeObject => ResultRuntimeObject != s_unevaluated;
internal object Result { get; set; }
internal object ResultRuntimeObject { get; set; }
internal bool IsProtectionProviderDetermined { get; set; }
internal ProtectedConfigurationProvider ProtectionProvider {
get {
return _protectionProvider;
}
set {
_protectionProvider = value;
IsProtectionProviderDetermined = true;
}
}
internal ICollection<ConfigurationException> Errors => _errors;
internal bool HasErrors => ErrorsHelper.GetHasErrors(_errors);
internal SectionInput(SectionXmlInfo sectionXmlInfo, List<ConfigurationException> errors)
{
SectionXmlInfo = sectionXmlInfo;
_errors = errors;
Result = s_unevaluated;
ResultRuntimeObject = s_unevaluated;
}
internal void ClearResult()
{
Result = s_unevaluated;
ResultRuntimeObject = s_unevaluated;
}
internal void ThrowOnErrors()
{
ErrorsHelper.ThrowOnErrors(_errors);
}
}
}