Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Configuration / ParameterElement.cs / 1305376 / 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(); [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - 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.")] 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Menu.cs
- TableLayoutColumnStyleCollection.cs
- Compiler.cs
- WebBrowserUriTypeConverter.cs
- SystemTcpConnection.cs
- UnsafeNativeMethods.cs
- PropertyValue.cs
- XmlBoundElement.cs
- ReadOnlyMetadataCollection.cs
- ModelItemCollection.cs
- SimpleApplicationHost.cs
- TextSelection.cs
- DbDataRecord.cs
- OdbcConnectionHandle.cs
- RSAPKCS1SignatureDeformatter.cs
- ProbeDuplexAsyncResult.cs
- ClientOperationFormatterProvider.cs
- TextDataBindingHandler.cs
- PeerTransportBindingElement.cs
- XmlComplianceUtil.cs
- DrawToolTipEventArgs.cs
- XmlDataSourceView.cs
- TextElementCollection.cs
- InkCollectionBehavior.cs
- CommandHelpers.cs
- ExpandoClass.cs
- COSERVERINFO.cs
- SQLGuidStorage.cs
- BinaryCommonClasses.cs
- DataContext.cs
- KoreanCalendar.cs
- IsolatedStoragePermission.cs
- Panel.cs
- WSSecurityXXX2005.cs
- Propagator.cs
- WebPartEditorOkVerb.cs
- KeyInterop.cs
- DrawingGroup.cs
- OleDbEnumerator.cs
- KnownTypeAttribute.cs
- FormsAuthenticationCredentials.cs
- XmlSchemaSimpleContentExtension.cs
- InfoCardBaseException.cs
- ImageFormatConverter.cs
- StylusLogic.cs
- ToolTipService.cs
- uribuilder.cs
- GB18030Encoding.cs
- CheckBoxRenderer.cs
- RefExpr.cs
- TextTreeTextBlock.cs
- MarkupExtensionReturnTypeAttribute.cs
- ProtocolsInstallComponent.cs
- ImageFormat.cs
- WebPartEditorApplyVerb.cs
- QilPatternFactory.cs
- OleAutBinder.cs
- DataGridCellsPresenter.cs
- MetadataStore.cs
- ExceptionUtil.cs
- ScriptReferenceEventArgs.cs
- EventRecord.cs
- ClientViaElement.cs
- DesignTimeTemplateParser.cs
- DataServiceCollectionOfT.cs
- SrgsElementFactoryCompiler.cs
- Int32Animation.cs
- IntPtr.cs
- OleDbCommand.cs
- TextTreeUndoUnit.cs
- DataListItemEventArgs.cs
- WindowInteropHelper.cs
- SqlCacheDependencyDatabaseCollection.cs
- FolderBrowserDialog.cs
- DataDocumentXPathNavigator.cs
- CompilerParameters.cs
- PropertyMetadata.cs
- RootBuilder.cs
- DependencyPropertyKey.cs
- ResourceReader.cs
- PageThemeCodeDomTreeGenerator.cs
- Int32Rect.cs
- tibetanshape.cs
- ColumnWidthChangedEvent.cs
- Point3DCollection.cs
- HashStream.cs
- MarkedHighlightComponent.cs
- CardSpaceException.cs
- DiagnosticStrings.cs
- validationstate.cs
- ThemeableAttribute.cs
- TableLayoutColumnStyleCollection.cs
- ResetableIterator.cs
- XPathEmptyIterator.cs
- ObjectStateFormatter.cs
- ComplexTypeEmitter.cs
- UnsafeNativeMethods.cs
- DragSelectionMessageFilter.cs
- HttpPostProtocolReflector.cs
- _BasicClient.cs