Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Configuration / System / Configuration / SubclassTypeValidator.cs / 1 / 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
- InitializationEventAttribute.cs
- XmlEntityReference.cs
- DeferrableContentConverter.cs
- ConnectivityStatus.cs
- GradientBrush.cs
- PageHandlerFactory.cs
- ISAPIApplicationHost.cs
- XmlQueryTypeFactory.cs
- WinInet.cs
- CodeObject.cs
- SortQuery.cs
- _SSPIWrapper.cs
- XamlTypeMapper.cs
- RelationshipDetailsRow.cs
- DiffuseMaterial.cs
- CollectionsUtil.cs
- XmlDocumentSurrogate.cs
- UnmanagedHandle.cs
- EncodingInfo.cs
- DbConnectionClosed.cs
- BasicCommandTreeVisitor.cs
- DataControlButton.cs
- TabPageDesigner.cs
- XmlAttributeCache.cs
- DataExchangeServiceBinder.cs
- VerificationAttribute.cs
- QueryStringParameter.cs
- SettingsBindableAttribute.cs
- StylusPointCollection.cs
- DataKeyArray.cs
- AutomationElement.cs
- OneWayBindingElementImporter.cs
- DataControlFieldCell.cs
- MergeLocalizationDirectives.cs
- SchemaImporterExtensionElementCollection.cs
- MailMessage.cs
- GenericRootAutomationPeer.cs
- WebPartCollection.cs
- OrthographicCamera.cs
- SimpleWorkerRequest.cs
- CharAnimationUsingKeyFrames.cs
- DefaultSerializationProviderAttribute.cs
- ClientConvert.cs
- ChildDocumentBlock.cs
- PointHitTestParameters.cs
- ExecutionScope.cs
- EdmEntityTypeAttribute.cs
- BulletDecorator.cs
- DefaultObjectMappingItemCollection.cs
- SiteMapDataSourceView.cs
- CollectionView.cs
- NetStream.cs
- WebRequest.cs
- ModuleElement.cs
- IncrementalHitTester.cs
- ZeroOpNode.cs
- WebHostedComPlusServiceHost.cs
- WorkflowTerminatedException.cs
- DataGridRelationshipRow.cs
- AlternateView.cs
- InkCanvas.cs
- SystemThemeKey.cs
- HandleRef.cs
- Message.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- SettingsPropertyNotFoundException.cs
- FlowDocument.cs
- XmlSubtreeReader.cs
- Storyboard.cs
- MemberInfoSerializationHolder.cs
- Delegate.cs
- OleDbInfoMessageEvent.cs
- BigInt.cs
- ProfilePropertySettings.cs
- Translator.cs
- NavigationWindow.cs
- XmlElementCollection.cs
- _DomainName.cs
- XsltCompileContext.cs
- _TimerThread.cs
- DocumentGridContextMenu.cs
- Trace.cs
- WhitespaceRule.cs
- MsmqDecodeHelper.cs
- Margins.cs
- ValidationSummary.cs
- IdentifierCreationService.cs
- GeometryValueSerializer.cs
- ExecutionEngineException.cs
- SystemUnicastIPAddressInformation.cs
- SQLSingleStorage.cs
- CallInfo.cs
- FileDetails.cs
- EventHandlerList.cs
- PageRanges.cs
- Italic.cs
- EnumMember.cs
- XPathBinder.cs
- HttpListenerRequest.cs
- StringFreezingAttribute.cs