Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / SubclassTypeValidator.cs / 1305376 / SubclassTypeValidator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Text.RegularExpressions; namespace System.Configuration { // This class validates that the value is a subclass of a specified type public sealed class SubclassTypeValidator : ConfigurationValidatorBase { private Type _base; public SubclassTypeValidator(Type baseClass) { if (baseClass == null) { throw new ArgumentNullException("baseClass"); } _base = baseClass; } public override bool CanValidate(Type type) { return (type == typeof(Type)); } public override void Validate(object value) { if (value == null) { return; } // Make a check here since value.GetType() returns RuntimeType rather then Type if (!(value is Type)) { ValidatorUtils.HelperParamValidation(value, typeof(Type)); } if (!_base.IsAssignableFrom((Type)value)) { throw new ArgumentException(SR.GetString(SR.Subclass_validator_error, ((Type)value).FullName, _base.FullName)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Text.RegularExpressions; namespace System.Configuration { // This class validates that the value is a subclass of a specified type public sealed class SubclassTypeValidator : ConfigurationValidatorBase { private Type _base; public SubclassTypeValidator(Type baseClass) { if (baseClass == null) { throw new ArgumentNullException("baseClass"); } _base = baseClass; } public override bool CanValidate(Type type) { return (type == typeof(Type)); } public override void Validate(object value) { if (value == null) { return; } // Make a check here since value.GetType() returns RuntimeType rather then Type if (!(value is Type)) { ValidatorUtils.HelperParamValidation(value, typeof(Type)); } if (!_base.IsAssignableFrom((Type)value)) { throw new ArgumentException(SR.GetString(SR.Subclass_validator_error, ((Type)value).FullName, _base.FullName)); } } } } // 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
- FormsAuthenticationEventArgs.cs
- DesignerTransactionCloseEvent.cs
- InstanceBehavior.cs
- SqlWriter.cs
- SafeNativeMethods.cs
- GeneralTransform3DGroup.cs
- WindowsGraphics2.cs
- SqlDataSourceEnumerator.cs
- LocalizationCodeDomSerializer.cs
- Properties.cs
- CompensationDesigner.cs
- LinkAreaEditor.cs
- NativeMethods.cs
- UpdateCompiler.cs
- ArraySortHelper.cs
- RunWorkerCompletedEventArgs.cs
- ConstructorBuilder.cs
- CachedTypeface.cs
- PathFigureCollectionConverter.cs
- ProtocolViolationException.cs
- DesignerDataRelationship.cs
- sqlpipe.cs
- WindowsListViewItem.cs
- ExpressionCopier.cs
- MailAddressCollection.cs
- D3DImage.cs
- ItemContainerPattern.cs
- SynchronizedPool.cs
- DataViewListener.cs
- ActivityDesignerHelper.cs
- TimeZoneNotFoundException.cs
- DWriteFactory.cs
- TabControl.cs
- RequestCacheManager.cs
- ActivationArguments.cs
- EnumValAlphaComparer.cs
- NestPullup.cs
- VirtualStackFrame.cs
- DataTableCollection.cs
- CodeRegionDirective.cs
- ExceptionRoutedEventArgs.cs
- Misc.cs
- GlyphTypeface.cs
- DescendantBaseQuery.cs
- DropShadowEffect.cs
- UntrustedRecipientException.cs
- XmlDataSourceView.cs
- ProcessHostFactoryHelper.cs
- HtmlInputHidden.cs
- OracleDateTime.cs
- IteratorDescriptor.cs
- SamlEvidence.cs
- ColumnHeader.cs
- XmlSchemas.cs
- FunctionDescription.cs
- Pair.cs
- SpnEndpointIdentityExtension.cs
- DebuggerAttributes.cs
- ConfigurationSettings.cs
- RegexGroup.cs
- XmlSchemaInfo.cs
- EUCJPEncoding.cs
- TableLayoutColumnStyleCollection.cs
- Attributes.cs
- ProxyWebPartManager.cs
- StringBuilder.cs
- PageThemeCodeDomTreeGenerator.cs
- BitmapEncoder.cs
- Icon.cs
- FormViewDeleteEventArgs.cs
- ProtocolViolationException.cs
- TransactionsSectionGroup.cs
- OrderedHashRepartitionEnumerator.cs
- SingleConverter.cs
- SubMenuStyleCollectionEditor.cs
- ComponentCodeDomSerializer.cs
- ObsoleteAttribute.cs
- DeclarationUpdate.cs
- XPathSelectionIterator.cs
- StrongNameMembershipCondition.cs
- PlanCompilerUtil.cs
- SqlColumnizer.cs
- ComponentChangingEvent.cs
- TargetConverter.cs
- XmlAttributeCache.cs
- MsmqAuthenticationMode.cs
- TimeZone.cs
- ItemsPanelTemplate.cs
- BaseComponentEditor.cs
- WebPartTransformerCollection.cs
- DeploymentSectionCache.cs
- MatrixValueSerializer.cs
- TextBoxAutomationPeer.cs
- DataGridViewRowsRemovedEventArgs.cs
- RequestCachingSection.cs
- XmlSubtreeReader.cs
- View.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- SQLMembershipProvider.cs
- RequestCacheManager.cs