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
- DataGridViewRow.cs
- ChildrenQuery.cs
- DateTimeConverter2.cs
- HttpCachePolicyElement.cs
- TableRowGroup.cs
- FilterQueryOptionExpression.cs
- ChameleonKey.cs
- AppliedDeviceFiltersEditor.cs
- BaseServiceProvider.cs
- HtmlImage.cs
- WorkflowLayouts.cs
- GenerateTemporaryTargetAssembly.cs
- ToggleProviderWrapper.cs
- TextDecorationCollection.cs
- xml.cs
- WindowsImpersonationContext.cs
- ControlIdConverter.cs
- SizeKeyFrameCollection.cs
- ComponentManagerBroker.cs
- ApplicationActivator.cs
- MDIWindowDialog.cs
- AutomationPropertyInfo.cs
- X509WindowsSecurityToken.cs
- StringUtil.cs
- DataServiceExpressionVisitor.cs
- ObjectViewFactory.cs
- MessageQueueTransaction.cs
- FixUpCollection.cs
- DefaultValueConverter.cs
- SchemaElementDecl.cs
- ConnectionPoint.cs
- ErrorStyle.cs
- ToolStripDropDown.cs
- RightsManagementInformation.cs
- DrawingState.cs
- ManipulationPivot.cs
- TextTreePropertyUndoUnit.cs
- XmlFileEditor.cs
- TablePatternIdentifiers.cs
- ScriptReferenceBase.cs
- BitmapEffectCollection.cs
- Convert.cs
- SHA512.cs
- DataGridBeginningEditEventArgs.cs
- SqlConnectionFactory.cs
- SerializationException.cs
- UrlAuthorizationModule.cs
- BitStream.cs
- GifBitmapEncoder.cs
- KeyInterop.cs
- TextBox.cs
- DrawListViewItemEventArgs.cs
- CodeMemberProperty.cs
- RegistrationServices.cs
- SamlSubjectStatement.cs
- CustomActivityDesigner.cs
- ObjectComplexPropertyMapping.cs
- GorillaCodec.cs
- LayoutSettings.cs
- SecurityTokenException.cs
- ZipPackage.cs
- UpnEndpointIdentityExtension.cs
- XmlCodeExporter.cs
- StreamWriter.cs
- BaseDataBoundControl.cs
- DataGridState.cs
- FontNamesConverter.cs
- BuiltInExpr.cs
- SecurityCriticalDataForSet.cs
- SqlConnectionHelper.cs
- LinqDataSourceDisposeEventArgs.cs
- TileModeValidation.cs
- Utils.cs
- ProviderSettings.cs
- AssemblyBuilderData.cs
- ProgressPage.cs
- OdbcConnectionStringbuilder.cs
- TypeUnloadedException.cs
- HandlerBase.cs
- RegionIterator.cs
- TextFormatterContext.cs
- ApplyTemplatesAction.cs
- BindableTemplateBuilder.cs
- WorkflowRuntimeElement.cs
- Dispatcher.cs
- HybridDictionary.cs
- FixedSOMPage.cs
- PaintValueEventArgs.cs
- PageWrapper.cs
- Object.cs
- ConfigurationProperty.cs
- ImageConverter.cs
- CookieParameter.cs
- SvcMapFileSerializer.cs
- COM2IPerPropertyBrowsingHandler.cs
- SHA384Managed.cs
- WindowsIdentity.cs
- BufferedGraphics.cs
- PersonalizationProviderHelper.cs
- M3DUtil.cs