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
- RsaSecurityTokenParameters.cs
- AttributeData.cs
- InternalMappingException.cs
- SHA512Managed.cs
- CryptoStream.cs
- SubclassTypeValidator.cs
- ReadOnlyDataSource.cs
- QilChoice.cs
- DataObjectPastingEventArgs.cs
- GenericAuthenticationEventArgs.cs
- DataListItemEventArgs.cs
- ScrollBar.cs
- MetadataSection.cs
- TargetPerspective.cs
- DSASignatureDeformatter.cs
- AccessControlList.cs
- MonitoringDescriptionAttribute.cs
- ConfigErrorGlyph.cs
- EdmSchemaError.cs
- StatusBar.cs
- ManagementException.cs
- WCFBuildProvider.cs
- BrowserCapabilitiesCompiler.cs
- Vector3DKeyFrameCollection.cs
- XmlNullResolver.cs
- Lease.cs
- XmlQueryContext.cs
- ItemAutomationPeer.cs
- DataSourceControlBuilder.cs
- ZoneIdentityPermission.cs
- ControlValuePropertyAttribute.cs
- InstanceStoreQueryResult.cs
- CapabilitiesState.cs
- WindowsRichEdit.cs
- AssignDesigner.xaml.cs
- DocumentPageHost.cs
- RadioButton.cs
- BindingCompleteEventArgs.cs
- Helpers.cs
- VirtualPath.cs
- HtmlImage.cs
- DataViewListener.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Connector.xaml.cs
- MimeBasePart.cs
- CodeTypeDeclaration.cs
- PriorityBinding.cs
- WriteFileContext.cs
- InputGestureCollection.cs
- ResourceProviderFactory.cs
- Ipv6Element.cs
- MultipartContentParser.cs
- TrackBar.cs
- RightsController.cs
- DescendantBaseQuery.cs
- StrongTypingException.cs
- XmlIgnoreAttribute.cs
- MediaEntryAttribute.cs
- TextParagraphProperties.cs
- Rss20FeedFormatter.cs
- AuthorizationRuleCollection.cs
- AnnotationResource.cs
- ToolStripArrowRenderEventArgs.cs
- Mouse.cs
- WebPartVerbCollection.cs
- ApplicationHost.cs
- SerializerDescriptor.cs
- CreateRefExpr.cs
- LingerOption.cs
- MustUnderstandSoapException.cs
- WmlFormAdapter.cs
- Encoder.cs
- IndentedWriter.cs
- KnownBoxes.cs
- odbcmetadatacolumnnames.cs
- Vector3DIndependentAnimationStorage.cs
- ScriptReferenceEventArgs.cs
- FileCodeGroup.cs
- OdbcEnvironmentHandle.cs
- DataService.cs
- FileUtil.cs
- ObjectNavigationPropertyMapping.cs
- QilLoop.cs
- COM2ComponentEditor.cs
- PropertyTabAttribute.cs
- AddInPipelineAttributes.cs
- XmlTextEncoder.cs
- ToolStripItemClickedEventArgs.cs
- BuildProviderAppliesToAttribute.cs
- ComplexType.cs
- RSAPKCS1KeyExchangeFormatter.cs
- FunctionDefinition.cs
- FlowDocumentView.cs
- WebPartTransformerAttribute.cs
- SafeNativeMethods.cs
- SafeReversePInvokeHandle.cs
- ContentValidator.cs
- OdbcDataAdapter.cs
- JulianCalendar.cs
- ParameterModifier.cs