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
- VersionedStream.cs
- SubordinateTransaction.cs
- RequestContext.cs
- AttributeQuery.cs
- loginstatus.cs
- WindowsProgressbar.cs
- StreamDocument.cs
- ProcessHostFactoryHelper.cs
- Int32CAMarshaler.cs
- XmlDataSource.cs
- InkCanvas.cs
- GestureRecognizer.cs
- JulianCalendar.cs
- InfoCardCryptoHelper.cs
- RemoteCryptoRsaServiceProvider.cs
- PackagePart.cs
- BamlStream.cs
- Rectangle.cs
- DataGridSortCommandEventArgs.cs
- dataprotectionpermission.cs
- WindowsTreeView.cs
- webclient.cs
- CodeVariableDeclarationStatement.cs
- DataListItemEventArgs.cs
- METAHEADER.cs
- ClientFormsIdentity.cs
- CellTreeNodeVisitors.cs
- Misc.cs
- WebHttpSecurityElement.cs
- FolderLevelBuildProvider.cs
- DataKey.cs
- Package.cs
- NativeMethods.cs
- WaitingCursor.cs
- DataList.cs
- WpfSharedBamlSchemaContext.cs
- Stackframe.cs
- isolationinterop.cs
- MultiBinding.cs
- ErrorFormatter.cs
- contentDescriptor.cs
- StrongTypingException.cs
- CharUnicodeInfo.cs
- Conditional.cs
- ProxyAttribute.cs
- HebrewNumber.cs
- Int32Rect.cs
- SignedXml.cs
- OdbcParameter.cs
- __Error.cs
- UriParserTemplates.cs
- TableRow.cs
- EntityCommandExecutionException.cs
- ExpandedProjectionNode.cs
- InplaceBitmapMetadataWriter.cs
- DocumentViewerAutomationPeer.cs
- TrustManager.cs
- TypeSystem.cs
- ObjectConverter.cs
- UrlParameterWriter.cs
- WebPartDescription.cs
- Pkcs7Signer.cs
- TrustLevel.cs
- DbConnectionPoolOptions.cs
- MarkupWriter.cs
- __TransparentProxy.cs
- IncrementalCompileAnalyzer.cs
- TouchesOverProperty.cs
- DocumentEventArgs.cs
- ProfileBuildProvider.cs
- HtmlTableCell.cs
- ClockGroup.cs
- Hash.cs
- DbMetaDataCollectionNames.cs
- DecoderFallback.cs
- TopClause.cs
- EditorResources.cs
- ColorTransformHelper.cs
- PcmConverter.cs
- TableLayoutSettings.cs
- MultiSelector.cs
- IndexOutOfRangeException.cs
- Vector3DAnimation.cs
- LoginName.cs
- CommandLineParser.cs
- DataServiceQueryOfT.cs
- Encoder.cs
- SettingsPropertyWrongTypeException.cs
- ToolStripGrip.cs
- DoubleAnimationUsingPath.cs
- SerialPort.cs
- EntityDesignerBuildProvider.cs
- SurrogateEncoder.cs
- dataprotectionpermission.cs
- QuotedPrintableStream.cs
- ReadOnlyPropertyMetadata.cs
- BackgroundFormatInfo.cs
- PeerNameRecord.cs
- X509Certificate.cs
- TrackingServices.cs