Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- EntityCommandExecutionException.cs
- ValueType.cs
- EditorZoneBase.cs
- InputLanguageManager.cs
- Timeline.cs
- TouchEventArgs.cs
- BindingSource.cs
- OracleConnectionStringBuilder.cs
- SafeProcessHandle.cs
- MarkupCompilePass2.cs
- RowsCopiedEventArgs.cs
- ApplicationBuildProvider.cs
- AspCompat.cs
- GregorianCalendarHelper.cs
- Size.cs
- CatalogZoneBase.cs
- TabletDevice.cs
- Atom10FormatterFactory.cs
- SimpleWebHandlerParser.cs
- ApplicationId.cs
- DataGridViewAccessibleObject.cs
- EventProviderTraceListener.cs
- ADMembershipUser.cs
- SafeBuffer.cs
- WindowsSpinner.cs
- StrokeDescriptor.cs
- CreateUserWizardStep.cs
- PageBreakRecord.cs
- Int16.cs
- UpDownBase.cs
- Blend.cs
- SchemaRegistration.cs
- ComponentGlyph.cs
- CodeIdentifiers.cs
- LayoutEngine.cs
- LocalizeDesigner.cs
- QilList.cs
- Ticks.cs
- CodeCompiler.cs
- CustomErrorsSection.cs
- Baml2006ReaderFrame.cs
- MemberDomainMap.cs
- ListViewGroup.cs
- AxisAngleRotation3D.cs
- FlowSwitchLink.cs
- CodeSubDirectoriesCollection.cs
- RepeaterItemCollection.cs
- SignatureResourcePool.cs
- CopyOnWriteList.cs
- StateManagedCollection.cs
- ICspAsymmetricAlgorithm.cs
- FormViewPagerRow.cs
- CodeFieldReferenceExpression.cs
- ShaperBuffers.cs
- OutputBuffer.cs
- DataGridrowEditEndingEventArgs.cs
- TcpChannelHelper.cs
- MeasureItemEvent.cs
- InheritanceContextChangedEventManager.cs
- MbpInfo.cs
- CheckBoxList.cs
- WorkflowMarkupElementEventArgs.cs
- FormatSelectingMessageInspector.cs
- PerfCounterSection.cs
- WriteTimeStream.cs
- OdbcParameter.cs
- SpotLight.cs
- AcceleratedTokenProviderState.cs
- Point4DConverter.cs
- PointUtil.cs
- ClientFormsIdentity.cs
- ComplexPropertyEntry.cs
- AsyncCompletedEventArgs.cs
- LeftCellWrapper.cs
- BlockUIContainer.cs
- PermissionRequestEvidence.cs
- ValuePatternIdentifiers.cs
- FormsAuthenticationUserCollection.cs
- NetPeerTcpBinding.cs
- FileSystemEventArgs.cs
- XmlDataContract.cs
- IISUnsafeMethods.cs
- BooleanKeyFrameCollection.cs
- ItemCheckEvent.cs
- SQLResource.cs
- UInt16Converter.cs
- ObjectRef.cs
- XmlDownloadManager.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ByteStreamGeometryContext.cs
- InputGestureCollection.cs
- XPathAxisIterator.cs
- BigInt.cs
- SqlSupersetValidator.cs
- SerializationHelper.cs
- SubstitutionResponseElement.cs
- HighlightVisual.cs
- LogPolicy.cs
- LinqDataSourceContextEventArgs.cs
- XmlSchemaNotation.cs