Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Configuration / DeclaredTypeElementCollection.cs / 1305376 / DeclaredTypeElementCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization.Configuration { using System; using System.Configuration; using System.Globalization; [ConfigurationCollection(typeof(DeclaredTypeElement))] public sealed class DeclaredTypeElementCollection : ConfigurationElementCollection { public DeclaredTypeElementCollection() { } public DeclaredTypeElement this[int index] { get { DeclaredTypeElement retval = (DeclaredTypeElement)BaseGet(index); return retval; } set { // Only validate input if config is not Read-Only, otherwise // let BaseAdd throw appropriate exception if (!this.IsReadOnly()) { if (value == null) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); } if (BaseGet(index) != null) { BaseRemoveAt(index); } } BaseAdd(index, value); } } public new DeclaredTypeElement this[string typeName] { get { if (String.IsNullOrEmpty(typeName)) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName"); } DeclaredTypeElement retval = (DeclaredTypeElement)BaseGet(typeName); return retval; } set { // Only validate input if config is not Read-Only, otherwise // let Add throw appropriate exception if (!this.IsReadOnly()) { if (String.IsNullOrEmpty(typeName)) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName"); } if (value == null) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); } if (BaseGet(typeName) != null) { BaseRemove(typeName); } else { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new IndexOutOfRangeException(SR.GetString(SR.ConfigIndexOutOfRange, typeName))); } } Add(value); } } public void Add(DeclaredTypeElement element) { // Only validate input if config is not Read-Only, otherwise // let BaseAdd throw appropriate exception if (!this.IsReadOnly()) { if (element == null) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } } BaseAdd(element); } public void Clear() { BaseClear(); } public bool Contains(string typeName) { if (String.IsNullOrEmpty(typeName)) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName"); } return this.BaseGet(typeName) != null; } protected override ConfigurationElement CreateNewElement() { DeclaredTypeElement retval = new DeclaredTypeElement(); return retval; } protected override Object GetElementKey(ConfigurationElement element) { if (element == null) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } return ((DeclaredTypeElement)element).Type; } public int IndexOf(DeclaredTypeElement element) { if (element == null) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } return BaseIndexOf(element); } public void Remove(DeclaredTypeElement element) { // Only validate input if config is not Read-Only, otherwise // let BaseRemove throw appropriate exception if (!this.IsReadOnly()) { if (element == null) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } } BaseRemove(this.GetElementKey(element)); } public void Remove(string typeName) { // Only validate input if config is not Read-Only, otherwise // let BaseRemove throw appropriate exception if (!this.IsReadOnly()) { if (String.IsNullOrEmpty(typeName)) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName"); } } BaseRemove(typeName); } public void RemoveAt(int index) { BaseRemoveAt(index); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompilerInfo.cs
- BindableTemplateBuilder.cs
- Membership.cs
- ThicknessConverter.cs
- CollectionEditorDialog.cs
- MetadataSource.cs
- LookupNode.cs
- NavigationService.cs
- DrawingState.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- UrlMappingsModule.cs
- ListControl.cs
- CursorInteropHelper.cs
- DataGridRowHeaderAutomationPeer.cs
- DataGridViewColumnCollection.cs
- BitmapImage.cs
- DelayedRegex.cs
- CultureTableRecord.cs
- HealthMonitoringSectionHelper.cs
- OleDbRowUpdatedEvent.cs
- WorkflowServiceBehavior.cs
- OdbcConnectionStringbuilder.cs
- _DisconnectOverlappedAsyncResult.cs
- SocketInformation.cs
- Encoding.cs
- ResourcesChangeInfo.cs
- XmlIncludeAttribute.cs
- WindowsAltTab.cs
- ToolstripProfessionalRenderer.cs
- DataRecordObjectView.cs
- PackageRelationshipSelector.cs
- BamlLocalizabilityResolver.cs
- DocumentViewerHelper.cs
- ExpressionEvaluator.cs
- MessageDirection.cs
- MsmqIntegrationChannelFactory.cs
- BinaryFormatter.cs
- InternalConfigConfigurationFactory.cs
- SoapRpcMethodAttribute.cs
- FixedSOMPageElement.cs
- Button.cs
- AliasedSlot.cs
- DesignerActionPanel.cs
- XmlSerializerAssemblyAttribute.cs
- HttpResponseInternalBase.cs
- ListViewItemEventArgs.cs
- UpdatePanelTriggerCollection.cs
- LineUtil.cs
- AppDomain.cs
- HandlerMappingMemo.cs
- ImageListUtils.cs
- WebPartTransformerCollection.cs
- ByteKeyFrameCollection.cs
- LineServices.cs
- Trace.cs
- LineBreakRecord.cs
- SessionEndingEventArgs.cs
- activationcontext.cs
- HttpSysSettings.cs
- sqlpipe.cs
- UInt16.cs
- RemotingException.cs
- EntityDataSourceWizardForm.cs
- AuthenticationModeHelper.cs
- ZoneButton.cs
- _AcceptOverlappedAsyncResult.cs
- UserMapPath.cs
- MobileControlDesigner.cs
- ToggleProviderWrapper.cs
- DataStorage.cs
- PropertyExpression.cs
- MediaTimeline.cs
- DataServiceContext.cs
- DataGridViewSelectedRowCollection.cs
- OutputCacheModule.cs
- WinEventQueueItem.cs
- HttpPostProtocolReflector.cs
- ExpressionBuilder.cs
- HTMLTagNameToTypeMapper.cs
- ClipboardData.cs
- ResourcesBuildProvider.cs
- TextDocumentView.cs
- SrgsNameValueTag.cs
- HtmlImage.cs
- ProcessThreadCollection.cs
- TaskScheduler.cs
- StrongNameKeyPair.cs
- TextEffectResolver.cs
- FrugalList.cs
- RenderData.cs
- ExceptionUtil.cs
- HtmlInputSubmit.cs
- RegexWriter.cs
- DeviceContext2.cs
- XmlResolver.cs
- MembershipSection.cs
- AttributeUsageAttribute.cs
- AsymmetricSignatureFormatter.cs
- precedingquery.cs
- PngBitmapDecoder.cs