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
- ObjectViewListener.cs
- InheritablePropertyChangeInfo.cs
- StrongName.cs
- AppSettingsSection.cs
- _DigestClient.cs
- BooleanStorage.cs
- StorageComplexTypeMapping.cs
- SerializationEventsCache.cs
- ProxyWebPart.cs
- Message.cs
- RegexCharClass.cs
- RenderData.cs
- ClientSideQueueItem.cs
- Wrapper.cs
- WebBrowser.cs
- ImageAnimator.cs
- ScrollProviderWrapper.cs
- ProxyOperationRuntime.cs
- DoubleIndependentAnimationStorage.cs
- AssociationType.cs
- CompoundFileStreamReference.cs
- HttpClientCertificate.cs
- COM2ExtendedTypeConverter.cs
- TransformGroup.cs
- XdrBuilder.cs
- BamlResourceDeserializer.cs
- CodeExporter.cs
- InvariantComparer.cs
- ClientSession.cs
- ArrangedElementCollection.cs
- XsltFunctions.cs
- HttpCookiesSection.cs
- WmlControlAdapter.cs
- WindowsIPAddress.cs
- PlanCompiler.cs
- DataSysAttribute.cs
- XmlILTrace.cs
- Tablet.cs
- ClientData.cs
- ExceptionCollection.cs
- DetailsViewRow.cs
- InputBindingCollection.cs
- XmlNodeChangedEventArgs.cs
- MergeFailedEvent.cs
- GPRECT.cs
- Span.cs
- CallbackDebugBehavior.cs
- HttpServerChannel.cs
- DataControlReference.cs
- SafeCloseHandleCritical.cs
- WebPageTraceListener.cs
- DataGridViewSelectedCellCollection.cs
- ClientConvert.cs
- SymLanguageType.cs
- ValuePattern.cs
- ImageCreator.cs
- TableProviderWrapper.cs
- TextTreeTextElementNode.cs
- UInt16Storage.cs
- AuthorizationRule.cs
- BindingExpressionBase.cs
- RangeValueProviderWrapper.cs
- Scalars.cs
- PropagatorResult.cs
- XhtmlBasicListAdapter.cs
- UrlAuthFailedErrorFormatter.cs
- CompilerError.cs
- XhtmlConformanceSection.cs
- dataprotectionpermission.cs
- ColumnBinding.cs
- TreeNodeCollection.cs
- FormViewInsertedEventArgs.cs
- KnownIds.cs
- __FastResourceComparer.cs
- DataServiceHostFactory.cs
- AsnEncodedData.cs
- CatchBlock.cs
- ScriptBehaviorDescriptor.cs
- SqlDelegatedTransaction.cs
- DSASignatureDeformatter.cs
- GroupDescription.cs
- PointLight.cs
- DictionarySectionHandler.cs
- DataMisalignedException.cs
- SHA1Managed.cs
- CommunicationObjectManager.cs
- sqlstateclientmanager.cs
- XmlDocumentSurrogate.cs
- CreateInstanceBinder.cs
- Psha1DerivedKeyGenerator.cs
- MimeMapping.cs
- TiffBitmapDecoder.cs
- PlanCompilerUtil.cs
- ImpersonationContext.cs
- AuthorizationSection.cs
- DependencyPropertyChangedEventArgs.cs
- ParallelActivityDesigner.cs
- ToolZone.cs
- BmpBitmapEncoder.cs
- CodeMemberMethod.cs