Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Sys / System / Configuration / NameValueSectionHandler.cs / 1 / NameValueSectionHandler.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Collections; using System.Collections.Specialized; using System.Xml; using System.Globalization; ////// Simple dictionary config factory /// public class NameValueSectionHandler : IConfigurationSectionHandler { const string defaultKeyAttribute = "key"; const string defaultValueAttribute = "value"; ////// public object Create(object parent, object context, XmlNode section) { return CreateStatic(parent, section, KeyAttributeName, ValueAttributeName); } internal static object CreateStatic(object parent, XmlNode section) { return CreateStatic(parent, section, defaultKeyAttribute, defaultValueAttribute); } internal static object CreateStatic(object parent, XmlNode section, string keyAttriuteName, string valueAttributeName) { ReadOnlyNameValueCollection result; // start result off as a shallow clone of the parent if (parent == null) result = new ReadOnlyNameValueCollection(StringComparer.OrdinalIgnoreCase); else { ReadOnlyNameValueCollection parentCollection = (ReadOnlyNameValueCollection)parent; result = new ReadOnlyNameValueCollection(parentCollection); } // process XML HandlerBase.CheckForUnrecognizedAttributes(section); foreach (XmlNode child in section.ChildNodes) { // skip whitespace and comments if (HandlerBase.IsIgnorableAlsoCheckForNonElement(child)) continue; // handle[To be supplied.] ///, , tags if (child.Name == "add") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); String value = HandlerBase.RemoveRequiredAttribute(child, valueAttributeName, true/*allowEmptyString*/); HandlerBase.CheckForUnrecognizedAttributes(child); result[key] = value; } else if (child.Name == "remove") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); HandlerBase.CheckForUnrecognizedAttributes(child); result.Remove(key); } else if (child.Name.Equals("clear")) { HandlerBase.CheckForUnrecognizedAttributes(child); result.Clear(); } else { HandlerBase.ThrowUnrecognizedElement(child); } } result.SetReadOnly(); return result; } /// /// protected virtual string KeyAttributeName { get { return defaultKeyAttribute;} } ///[To be supplied.] ////// protected virtual string ValueAttributeName { get { return defaultValueAttribute;} } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Collections; using System.Collections.Specialized; using System.Xml; using System.Globalization; ////// Simple dictionary config factory /// public class NameValueSectionHandler : IConfigurationSectionHandler { const string defaultKeyAttribute = "key"; const string defaultValueAttribute = "value"; ////// public object Create(object parent, object context, XmlNode section) { return CreateStatic(parent, section, KeyAttributeName, ValueAttributeName); } internal static object CreateStatic(object parent, XmlNode section) { return CreateStatic(parent, section, defaultKeyAttribute, defaultValueAttribute); } internal static object CreateStatic(object parent, XmlNode section, string keyAttriuteName, string valueAttributeName) { ReadOnlyNameValueCollection result; // start result off as a shallow clone of the parent if (parent == null) result = new ReadOnlyNameValueCollection(StringComparer.OrdinalIgnoreCase); else { ReadOnlyNameValueCollection parentCollection = (ReadOnlyNameValueCollection)parent; result = new ReadOnlyNameValueCollection(parentCollection); } // process XML HandlerBase.CheckForUnrecognizedAttributes(section); foreach (XmlNode child in section.ChildNodes) { // skip whitespace and comments if (HandlerBase.IsIgnorableAlsoCheckForNonElement(child)) continue; // handle[To be supplied.] ///, , tags if (child.Name == "add") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); String value = HandlerBase.RemoveRequiredAttribute(child, valueAttributeName, true/*allowEmptyString*/); HandlerBase.CheckForUnrecognizedAttributes(child); result[key] = value; } else if (child.Name == "remove") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); HandlerBase.CheckForUnrecognizedAttributes(child); result.Remove(key); } else if (child.Name.Equals("clear")) { HandlerBase.CheckForUnrecognizedAttributes(child); result.Clear(); } else { HandlerBase.ThrowUnrecognizedElement(child); } } result.SetReadOnly(); return result; } /// /// protected virtual string KeyAttributeName { get { return defaultKeyAttribute;} } ///[To be supplied.] ////// protected virtual string ValueAttributeName { get { return defaultValueAttribute;} } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UserPreferenceChangingEventArgs.cs
- XmlElementAttributes.cs
- HtmlMeta.cs
- RoleManagerSection.cs
- UnauthorizedAccessException.cs
- ServiceDescriptionContext.cs
- PointCollection.cs
- DataGridView.cs
- DataGridViewCellStyleConverter.cs
- AttachedAnnotationChangedEventArgs.cs
- SafeTokenHandle.cs
- SizeIndependentAnimationStorage.cs
- HttpCapabilitiesBase.cs
- SpinLock.cs
- Registry.cs
- InkCanvasFeedbackAdorner.cs
- IsolatedStorageFilePermission.cs
- Misc.cs
- RenderDataDrawingContext.cs
- CodeAttachEventStatement.cs
- Serializer.cs
- TextDecorationLocationValidation.cs
- Guid.cs
- StylusShape.cs
- HtmlTableRowCollection.cs
- InvokeBase.cs
- StaticTextPointer.cs
- XmlTextWriter.cs
- WinFormsUtils.cs
- NameValuePermission.cs
- CommonXSendMessage.cs
- ExpressionList.cs
- SerializableAttribute.cs
- TextElementCollection.cs
- InkPresenterAutomationPeer.cs
- Int32CollectionConverter.cs
- Table.cs
- CustomPeerResolverService.cs
- OleDbWrapper.cs
- SiteMapHierarchicalDataSourceView.cs
- PackUriHelper.cs
- ColumnBinding.cs
- ObjectDataSourceMethodEventArgs.cs
- TreeNode.cs
- XmlDataSourceView.cs
- SoapRpcServiceAttribute.cs
- XmlSequenceWriter.cs
- AliasGenerator.cs
- StringResourceManager.cs
- HttpContext.cs
- LicenseException.cs
- OrthographicCamera.cs
- ConditionCollection.cs
- CodeDomConfigurationHandler.cs
- ObjectNotFoundException.cs
- OrderedDictionary.cs
- RegistryDataKey.cs
- TreeView.cs
- ColorTranslator.cs
- NetTcpBindingElement.cs
- RootProfilePropertySettingsCollection.cs
- X509SecurityToken.cs
- BoundColumn.cs
- _NtlmClient.cs
- ReachBasicContext.cs
- DocumentCollection.cs
- PropertyIDSet.cs
- TextWriter.cs
- CellIdBoolean.cs
- _NetworkingPerfCounters.cs
- DependencyPropertyDescriptor.cs
- QuadTree.cs
- TextBoxDesigner.cs
- Misc.cs
- DesignerDataTable.cs
- Pen.cs
- SafeWaitHandle.cs
- ShapingWorkspace.cs
- HitTestFilterBehavior.cs
- LiteralSubsegment.cs
- CharEntityEncoderFallback.cs
- QueryStringParameter.cs
- ModelVisual3D.cs
- baseaxisquery.cs
- SharedPersonalizationStateInfo.cs
- WorkflowOperationErrorHandler.cs
- sqlcontext.cs
- StateManagedCollection.cs
- ConfigXmlAttribute.cs
- BindingExpressionUncommonField.cs
- StringUtil.cs
- Completion.cs
- ProtocolsConfigurationEntry.cs
- UnknownWrapper.cs
- HttpConfigurationSystem.cs
- SHA256Managed.cs
- SizeConverter.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- GeneralTransformGroup.cs
- ProjectionPlanCompiler.cs