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
- MailAddress.cs
- StructuredProperty.cs
- BidOverLoads.cs
- SystemResourceKey.cs
- TemplateControl.cs
- BitmapEffect.cs
- PagesChangedEventArgs.cs
- DataGridColumnHeaderAutomationPeer.cs
- FrameworkContentElement.cs
- InvalidFilterCriteriaException.cs
- ToolboxBitmapAttribute.cs
- XPathNavigator.cs
- QilDataSource.cs
- FontNamesConverter.cs
- ProcessHostMapPath.cs
- ColumnTypeConverter.cs
- ContentControl.cs
- BitmapDownload.cs
- BitVector32.cs
- DbTypeMap.cs
- PeerApplication.cs
- SimpleWebHandlerParser.cs
- AttributeData.cs
- ControlParameter.cs
- BindValidator.cs
- ValidationError.cs
- ByteAnimationUsingKeyFrames.cs
- AccessKeyManager.cs
- ProjectedWrapper.cs
- ProfilePropertySettingsCollection.cs
- DataFieldCollectionEditor.cs
- JavascriptXmlWriterWrapper.cs
- wmiutil.cs
- BuildProvidersCompiler.cs
- SerializationAttributes.cs
- DocumentOrderQuery.cs
- InputLangChangeEvent.cs
- NumericUpDownAcceleration.cs
- XmlSchemaComplexContent.cs
- OdbcCommandBuilder.cs
- FillErrorEventArgs.cs
- OLEDB_Enum.cs
- FtpWebRequest.cs
- SerializationObjectManager.cs
- ToolboxItemAttribute.cs
- BrowserCapabilitiesCodeGenerator.cs
- FormClosedEvent.cs
- WorkflowMarkupSerializationException.cs
- XmlNullResolver.cs
- OutputCacheProfileCollection.cs
- WindowsFormsHostPropertyMap.cs
- Polyline.cs
- WebProxyScriptElement.cs
- EntityContainerRelationshipSet.cs
- CmsUtils.cs
- PolicyException.cs
- WaveHeader.cs
- CompilerWrapper.cs
- ParseChildrenAsPropertiesAttribute.cs
- GPRECT.cs
- WebPartTransformer.cs
- PrinterSettings.cs
- SchemaTableColumn.cs
- Attributes.cs
- ApplicationServicesHostFactory.cs
- PageTrueTypeFont.cs
- BitStack.cs
- DataRecord.cs
- SchemaCollectionPreprocessor.cs
- WindowHideOrCloseTracker.cs
- EdgeModeValidation.cs
- ConnectorRouter.cs
- XPathQueryGenerator.cs
- DynamicPropertyReader.cs
- ConfigurationStrings.cs
- ManualResetEvent.cs
- InternalControlCollection.cs
- XmlSchemaExporter.cs
- ManipulationLogic.cs
- Underline.cs
- HttpContext.cs
- Point3D.cs
- DrawingBrush.cs
- MarshalDirectiveException.cs
- ListItemCollection.cs
- ViewUtilities.cs
- CodeMethodMap.cs
- WorkflowServiceNamespace.cs
- SortedList.cs
- XmlSchemaDocumentation.cs
- RequestResizeEvent.cs
- AutomationAttributeInfo.cs
- Point.cs
- TableLayoutColumnStyleCollection.cs
- Number.cs
- LocationSectionRecord.cs
- ClaimTypes.cs
- SingletonInstanceContextProvider.cs
- ScrollProperties.cs
- EventProperty.cs