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
- DrawToolTipEventArgs.cs
- ClientBuildManagerCallback.cs
- WindowsListViewItemCheckBox.cs
- StylusCollection.cs
- PropertyItem.cs
- SerializationIncompleteException.cs
- NoClickablePointException.cs
- DataGridPagingPage.cs
- StylusPointProperty.cs
- ConnectionAcceptor.cs
- IdentityReference.cs
- ToolBar.cs
- WinFormsComponentEditor.cs
- CircleEase.cs
- UdpSocket.cs
- MemoryFailPoint.cs
- DtdParser.cs
- _OSSOCK.cs
- PersonalizationProviderCollection.cs
- ApplicationDirectoryMembershipCondition.cs
- RedirectionProxy.cs
- OrderedEnumerableRowCollection.cs
- RestHandlerFactory.cs
- RequestContext.cs
- ScrollPattern.cs
- OleDbError.cs
- SqlCaseSimplifier.cs
- UpdateCompiler.cs
- WindowsHyperlink.cs
- ToolboxComponentsCreatedEventArgs.cs
- CompilerState.cs
- IndexedString.cs
- DbgUtil.cs
- NetworkInterface.cs
- MouseOverProperty.cs
- PolyLineSegment.cs
- JapaneseCalendar.cs
- _LoggingObject.cs
- SID.cs
- ExpandCollapsePattern.cs
- BuildResult.cs
- MouseGesture.cs
- ToolStripDropDownButton.cs
- ErrorEventArgs.cs
- UTF8Encoding.cs
- securestring.cs
- UInt16Converter.cs
- DmlSqlGenerator.cs
- FontWeights.cs
- WebHttpSecurityModeHelper.cs
- SafeWaitHandle.cs
- CancellationHandlerDesigner.cs
- ValueProviderWrapper.cs
- InputLanguageManager.cs
- namescope.cs
- NeutralResourcesLanguageAttribute.cs
- RetrieveVirtualItemEventArgs.cs
- StructuralCache.cs
- DocumentDesigner.cs
- ArraySortHelper.cs
- ByteAnimationBase.cs
- RenderOptions.cs
- XmlAnyAttributeAttribute.cs
- CachedCompositeFamily.cs
- SEHException.cs
- Matrix3DStack.cs
- FigureParaClient.cs
- WebCategoryAttribute.cs
- CallSite.cs
- PropertyValue.cs
- HotSpot.cs
- TemplateColumn.cs
- WebRequest.cs
- OperationAbortedException.cs
- ResourceDescriptionAttribute.cs
- VectorKeyFrameCollection.cs
- RoutedPropertyChangedEventArgs.cs
- DateBoldEvent.cs
- Gdiplus.cs
- XmlILCommand.cs
- XmlSchemaInferenceException.cs
- SamlAuthenticationStatement.cs
- XmlSerializerFactory.cs
- LocatorManager.cs
- SqlBuffer.cs
- RegionInfo.cs
- PassportAuthentication.cs
- XPathAncestorQuery.cs
- TextParagraphCache.cs
- XmlAttributeHolder.cs
- FormView.cs
- HMACRIPEMD160.cs
- HashCoreRequest.cs
- WindowsAuthenticationEventArgs.cs
- ElapsedEventArgs.cs
- DataColumnMappingCollection.cs
- DefaultParameterValueAttribute.cs
- ConfigurationValues.cs
- CodeMemberField.cs
- ReadOnlyAttribute.cs