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
- AnnotationObservableCollection.cs
- ParserContext.cs
- LostFocusEventManager.cs
- DropShadowEffect.cs
- MessageBox.cs
- PagedDataSource.cs
- UInt64.cs
- OLEDB_Enum.cs
- RelationshipDetailsRow.cs
- UrlPath.cs
- SignatureHelper.cs
- BitmapCache.cs
- CngProperty.cs
- RuleAction.cs
- HashAlgorithm.cs
- ValidatingPropertiesEventArgs.cs
- QualifierSet.cs
- ComPlusContractBehavior.cs
- PageAction.cs
- StreamMarshaler.cs
- StringBuilder.cs
- ButtonBaseAdapter.cs
- MethodExecutor.cs
- XmlNodeReader.cs
- SqlCaseSimplifier.cs
- Publisher.cs
- RoutedEvent.cs
- SecurityContext.cs
- PathFigure.cs
- DataGridViewDataConnection.cs
- HandlerFactoryCache.cs
- AudioFormatConverter.cs
- DbConnectionPoolOptions.cs
- SqlDataSourceCache.cs
- ContextDataSourceContextData.cs
- KeyConverter.cs
- TempFiles.cs
- ExternalException.cs
- WindowsScroll.cs
- HotSpotCollection.cs
- XXXInfos.cs
- Semaphore.cs
- SevenBitStream.cs
- ClientEndpointLoader.cs
- XmlArrayItemAttributes.cs
- DbConvert.cs
- FactoryGenerator.cs
- ResXBuildProvider.cs
- RelativeSource.cs
- AutomationIdentifier.cs
- StatusBarItem.cs
- MimeWriter.cs
- GridViewRowCollection.cs
- WinCategoryAttribute.cs
- FixedSOMGroup.cs
- CompilerResults.cs
- InvalidDataContractException.cs
- EncryptedPackage.cs
- BindingManagerDataErrorEventArgs.cs
- ContextQuery.cs
- ExpressionParser.cs
- GAC.cs
- ConfigurationStrings.cs
- DSASignatureDeformatter.cs
- XmlSchemaSimpleContentRestriction.cs
- SubclassTypeValidator.cs
- ConfigXmlElement.cs
- ClientSideQueueItem.cs
- BitmapEffectInput.cs
- EntityAdapter.cs
- CurrencyWrapper.cs
- DetailsViewDeletedEventArgs.cs
- ConstraintEnumerator.cs
- FontSourceCollection.cs
- DataGridPageChangedEventArgs.cs
- HttpCapabilitiesBase.cs
- RewritingSimplifier.cs
- DetailsViewRow.cs
- BindingsCollection.cs
- SmtpException.cs
- AncillaryOps.cs
- StructuralComparisons.cs
- AmbientLight.cs
- HeaderedItemsControl.cs
- FunctionDetailsReader.cs
- QuadraticEase.cs
- GeneralTransform3DGroup.cs
- GlyphRunDrawing.cs
- ConfigPathUtility.cs
- CodeLabeledStatement.cs
- DataGridSortCommandEventArgs.cs
- AppDomainManager.cs
- QilInvoke.cs
- COM2PictureConverter.cs
- SecurityHelper.cs
- DifferencingCollection.cs
- IntermediatePolicyValidator.cs
- WebException.cs
- DataRowCollection.cs
- FieldMetadata.cs