Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Configuration / ParameterElement.cs / 1 / ParameterElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization.Configuration { using System; using System.Configuration; using System.Xml; using System.Security; public sealed partial class ParameterElement : ConfigurationElement { public ParameterElement() { } public ParameterElement(string typeName) : this() { if (String.IsNullOrEmpty(typeName)) { throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName"); } this.Type = typeName; } public ParameterElement(int index) : this() { this.Index = index; } [ConfigurationProperty(ConfigurationStrings.Index, DefaultValue = 0)] [IntegerValidator(MinValue = 0)] public int Index { get { return (int)base[ConfigurationStrings.Index]; } set { base[ConfigurationStrings.Index] = value; } } [ConfigurationProperty(ConfigurationStrings.DefaultCollectionName, DefaultValue = null, Options = ConfigurationPropertyOptions.IsDefaultCollection)] public ParameterElementCollection Parameters { get { return (ParameterElementCollection)base[ConfigurationStrings.DefaultCollectionName]; } } protected override void PostDeserialize() { this.Validate(); } protected override void PreSerialize(XmlWriter writer) { this.Validate(); } [ConfigurationProperty(ConfigurationStrings.Type, DefaultValue = "")] [StringValidator(MinLength = 0)] public string Type { get { return (string)base[ConfigurationStrings.Type]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.Type] = value; } } void Validate() { PropertyInformationCollection propertyInfo = this.ElementInformation.Properties; if ((propertyInfo[ConfigurationStrings.Index].ValueOrigin == PropertyValueOrigin.Default) && (propertyInfo[ConfigurationStrings.Type].ValueOrigin == PropertyValueOrigin.Default)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigMustSetTypeOrIndex))); } if ((propertyInfo[ConfigurationStrings.Index].ValueOrigin != PropertyValueOrigin.Default) && (propertyInfo[ConfigurationStrings.Type].ValueOrigin != PropertyValueOrigin.Default)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigMustOnlySetTypeOrIndex))); } if ((propertyInfo[ConfigurationStrings.Index].ValueOrigin != PropertyValueOrigin.Default) && this.Parameters.Count > 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigMustOnlyAddParamsWithType))); } } internal readonly Guid identity = Guid.NewGuid(); ////// Review - loads type given name in configuration. /// since this information is used to determine whether a particular type is included as a known type, /// changes to the logic should be reviewed. /// [SecurityRequiresReview] internal Type GetType(string rootType, Type[] typeArgs) { return TypeElement.GetType(rootType, typeArgs, this.Type, this.Index, this.Parameters); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BadImageFormatException.cs
- GuidConverter.cs
- Misc.cs
- SoapEnumAttribute.cs
- AppearanceEditorPart.cs
- PenThread.cs
- HostExecutionContextManager.cs
- ScriptHandlerFactory.cs
- ItemDragEvent.cs
- RecipientInfo.cs
- MsdtcWrapper.cs
- PropertyMapper.cs
- ServiceProviders.cs
- DropDownButton.cs
- WebPartCloseVerb.cs
- QilLiteral.cs
- HtmlInputCheckBox.cs
- PinnedBufferMemoryStream.cs
- ItemContainerProviderWrapper.cs
- XsdDuration.cs
- NetPeerTcpBindingCollectionElement.cs
- ILGen.cs
- Odbc32.cs
- WebPartTracker.cs
- FormsAuthentication.cs
- ComponentChangingEvent.cs
- SmiMetaDataProperty.cs
- NameObjectCollectionBase.cs
- HtmlCommandAdapter.cs
- DetailsViewInsertEventArgs.cs
- ListMarkerSourceInfo.cs
- MulticastOption.cs
- QueryComponents.cs
- QueryProcessor.cs
- EventBuilder.cs
- LinqDataSourceStatusEventArgs.cs
- State.cs
- FixedSOMElement.cs
- ConnectionStringSettingsCollection.cs
- safex509handles.cs
- BindingManagerDataErrorEventArgs.cs
- _Events.cs
- FileUpload.cs
- CodeRegionDirective.cs
- DEREncoding.cs
- InputLanguage.cs
- MarkupObject.cs
- TextBoxView.cs
- PropertyMappingExceptionEventArgs.cs
- WorkflowTraceTransfer.cs
- ConstructorNeedsTagAttribute.cs
- DataGrid.cs
- NotifyIcon.cs
- HtmlHead.cs
- EncryptedData.cs
- ConstraintEnumerator.cs
- TraceHandlerErrorFormatter.cs
- KnowledgeBase.cs
- MessageContractAttribute.cs
- WebPartChrome.cs
- ScriptDescriptor.cs
- PanelStyle.cs
- DialogWindow.cs
- Attributes.cs
- SessionIDManager.cs
- OpCopier.cs
- WorkflowQueuingService.cs
- XmlArrayItemAttribute.cs
- AudioDeviceOut.cs
- TransportDefaults.cs
- SQLDateTime.cs
- Literal.cs
- WindowsEditBox.cs
- TextMarkerSource.cs
- ItemType.cs
- DeviceContext.cs
- TextPointerBase.cs
- SoapFault.cs
- HtmlShimManager.cs
- IPCCacheManager.cs
- Keywords.cs
- CaseInsensitiveOrdinalStringComparer.cs
- DropDownList.cs
- CatalogPartCollection.cs
- SchemaManager.cs
- PatternMatcher.cs
- DiscoveryDocumentSearchPattern.cs
- XmlUtil.cs
- MexHttpsBindingElement.cs
- ParallelEnumerable.cs
- DetailsViewInsertEventArgs.cs
- DbConnectionFactory.cs
- ContourSegment.cs
- DBConnection.cs
- ComponentSerializationService.cs
- FloatUtil.cs
- KeyInfo.cs
- ActivityCodeDomSerializationManager.cs
- PhysicalAddress.cs
- Tablet.cs