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
- RoutedEventValueSerializer.cs
- ColumnWidthChangedEvent.cs
- FieldNameLookup.cs
- EnvelopedPkcs7.cs
- TextRangeAdaptor.cs
- AuthorizationRule.cs
- StorageComplexPropertyMapping.cs
- XmlNamespaceMapping.cs
- ContractAdapter.cs
- AssertSection.cs
- SQLRoleProvider.cs
- SQLSingle.cs
- CollectionViewSource.cs
- Classification.cs
- ContentFileHelper.cs
- UrlMappingCollection.cs
- WebHttpBindingElement.cs
- XmlILIndex.cs
- ConfigurationProperty.cs
- PixelFormatConverter.cs
- ToolboxItemCollection.cs
- LocalsItemDescription.cs
- ObjectNotFoundException.cs
- HttpListenerException.cs
- FormatConvertedBitmap.cs
- DbParameterCollection.cs
- TableStyle.cs
- PerformanceCounterScope.cs
- MouseButtonEventArgs.cs
- PersistChildrenAttribute.cs
- input.cs
- SchemaConstraints.cs
- XmlQueryType.cs
- HelpOperationInvoker.cs
- URIFormatException.cs
- ProviderConnectionPointCollection.cs
- DropDownList.cs
- DeclarativeCatalogPartDesigner.cs
- SHA1Managed.cs
- BamlRecordHelper.cs
- EntityCommandCompilationException.cs
- DataPagerFieldCommandEventArgs.cs
- XmlElementAttribute.cs
- TableLayout.cs
- ListItemCollection.cs
- ElementInit.cs
- MethodToken.cs
- DiscriminatorMap.cs
- ProxyWebPart.cs
- xsdvalidator.cs
- SerializableAttribute.cs
- ImageMetadata.cs
- SqlInfoMessageEvent.cs
- SiteOfOriginPart.cs
- DataTableTypeConverter.cs
- SettingsAttributeDictionary.cs
- FrugalList.cs
- BitmapEffectState.cs
- FeatureManager.cs
- sqlcontext.cs
- DescendentsWalker.cs
- TraceHwndHost.cs
- DeviceSpecificChoice.cs
- DataGridViewColumnStateChangedEventArgs.cs
- StringComparer.cs
- TextBoxView.cs
- ConfigXmlCDataSection.cs
- CompModSwitches.cs
- Listbox.cs
- XamlClipboardData.cs
- SqlEnums.cs
- RegexEditorDialog.cs
- AnonymousIdentificationSection.cs
- OutputCacheSettingsSection.cs
- ProtocolElementCollection.cs
- AuthenticatedStream.cs
- TcpHostedTransportConfiguration.cs
- _ContextAwareResult.cs
- SiteMapNodeItemEventArgs.cs
- ContainerFilterService.cs
- InheritanceContextHelper.cs
- SpotLight.cs
- VisualStateManager.cs
- SafeThreadHandle.cs
- ListViewUpdatedEventArgs.cs
- MemberInfoSerializationHolder.cs
- DesignBindingValueUIHandler.cs
- ProxyGenerator.cs
- ConfigurationSettings.cs
- CompModSwitches.cs
- FeatureSupport.cs
- ThemeInfoAttribute.cs
- SynchronizedInputPattern.cs
- DesignerCommandAdapter.cs
- AsymmetricCryptoHandle.cs
- ResourceReader.cs
- Brush.cs
- Size3D.cs
- TypeConverters.cs
- XmlValidatingReader.cs