Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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;} } } }[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InstanceLockQueryResult.cs
- TextTreeTextNode.cs
- TabRenderer.cs
- DataServiceQueryOfT.cs
- MediaElementAutomationPeer.cs
- Encoder.cs
- DesignerDataSourceView.cs
- StylusPoint.cs
- InfoCardSymmetricCrypto.cs
- HitTestFilterBehavior.cs
- ColorConvertedBitmap.cs
- InlineUIContainer.cs
- SerialStream.cs
- namescope.cs
- ReadWriteSpinLock.cs
- ComponentCollection.cs
- ProfileServiceManager.cs
- Models.cs
- Int16KeyFrameCollection.cs
- ValueTypeFixupInfo.cs
- NavigationWindowAutomationPeer.cs
- WindowsUpDown.cs
- BuildManager.cs
- TypedTableHandler.cs
- Point4DValueSerializer.cs
- InvokePatternIdentifiers.cs
- MethodSignatureGenerator.cs
- Selection.cs
- Validator.cs
- SqlDependencyUtils.cs
- NetMsmqSecurityElement.cs
- ClientSettingsSection.cs
- ScriptingWebServicesSectionGroup.cs
- XmlnsCompatibleWithAttribute.cs
- BindingExpressionUncommonField.cs
- VectorAnimationBase.cs
- WsatTransactionInfo.cs
- altserialization.cs
- LicenseException.cs
- UserNameSecurityTokenProvider.cs
- FileSystemInfo.cs
- Matrix3DStack.cs
- PolyQuadraticBezierSegment.cs
- COM2Properties.cs
- JsonDeserializer.cs
- CheckBoxStandardAdapter.cs
- CallbackTimeoutsElement.cs
- TypeForwardedToAttribute.cs
- ToolStripOverflow.cs
- XAMLParseException.cs
- Attribute.cs
- PasswordBox.cs
- BlobPersonalizationState.cs
- OracleCommand.cs
- TextRunTypographyProperties.cs
- CorrelationManager.cs
- Misc.cs
- SynchronizedInputAdaptor.cs
- DataServiceQueryException.cs
- TreeNode.cs
- StrokeIntersection.cs
- WebPartCollection.cs
- WebServiceEnumData.cs
- SmtpAuthenticationManager.cs
- ApplicationServiceHelper.cs
- ParentUndoUnit.cs
- Pen.cs
- SqlDependency.cs
- StartUpEventArgs.cs
- ContentElementAutomationPeer.cs
- ConditionCollection.cs
- RankException.cs
- DataKey.cs
- LineInfo.cs
- InvalidateEvent.cs
- WaitHandle.cs
- TextEditorTyping.cs
- ListViewItemSelectionChangedEvent.cs
- XamlGridLengthSerializer.cs
- Latin1Encoding.cs
- StringFunctions.cs
- DocumentPaginator.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- _NegotiateClient.cs
- NetTcpSecurity.cs
- TagMapInfo.cs
- OrthographicCamera.cs
- ButtonPopupAdapter.cs
- WorkflowServiceHostFactory.cs
- TimelineGroup.cs
- UInt16Converter.cs
- SelectionPatternIdentifiers.cs
- StrokeIntersection.cs
- DES.cs
- UnicodeEncoding.cs
- HttpListenerRequest.cs
- util.cs
- TripleDES.cs
- ContentFilePart.cs
- Convert.cs