Xamarin Public Jenkins c042cd0c52 Imported Upstream version 4.2.0.179
Former-commit-id: 4610231f55806d2a05ed69e5ff3faa7336cc1479
2015-11-10 15:03:43 +00:00

62 lines
2.1 KiB
C#

//------------------------------------------------------------------------------
// <copyright file="DefaultSection.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Configuration {
using System.Xml;
public sealed class DefaultSection : ConfigurationSection {
private static volatile ConfigurationPropertyCollection s_properties;
string _rawXml = string.Empty;
bool _isModified;
private static ConfigurationPropertyCollection EnsureStaticPropertyBag() {
if (s_properties == null) {
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
s_properties = properties;
}
return s_properties;
}
public DefaultSection() {
EnsureStaticPropertyBag();
}
protected internal override ConfigurationPropertyCollection Properties {
get {
return EnsureStaticPropertyBag();
}
}
protected internal override bool IsModified() {
return _isModified;
}
protected internal override void ResetModified() {
_isModified = false;
}
protected internal override void Reset(ConfigurationElement parentSection) {
_rawXml = string.Empty;
_isModified = false;
}
protected internal override void DeserializeSection(XmlReader xmlReader) {
if (!xmlReader.Read() || xmlReader.NodeType != XmlNodeType.Element) {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_expected_to_find_element), xmlReader);
}
_rawXml = xmlReader.ReadOuterXml();
_isModified = true;
}
protected internal override string SerializeSection(ConfigurationElement parentSection, string name, ConfigurationSaveMode saveMode) {
return _rawXml;
}
}
}