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
- LinkArea.cs
- DataObjectCopyingEventArgs.cs
- GeneralTransform3DTo2DTo3D.cs
- XmlElementAttribute.cs
- ActivityExecutionFilter.cs
- SelectedPathEditor.cs
- AccessibleObject.cs
- CodeTypeDeclaration.cs
- DataGridViewCheckBoxCell.cs
- StandardToolWindows.cs
- CodeDirectoryCompiler.cs
- ToolStripControlHost.cs
- SQLMoneyStorage.cs
- BlurEffect.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- MultipleViewPattern.cs
- RegionInfo.cs
- UpDownEvent.cs
- SettingsPropertyValueCollection.cs
- SHA384Cng.cs
- ProtocolsConfigurationEntry.cs
- Internal.cs
- ProjectionCamera.cs
- PartitionerQueryOperator.cs
- TextParaClient.cs
- DataConnectionHelper.cs
- CheckBoxStandardAdapter.cs
- PathFigure.cs
- FileSystemInfo.cs
- ManualResetEvent.cs
- TextElementAutomationPeer.cs
- WindowsProgressbar.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- OutputCacheProfileCollection.cs
- RouteItem.cs
- HostingEnvironmentSection.cs
- DbConnectionStringCommon.cs
- AudioFormatConverter.cs
- SymLanguageVendor.cs
- PropVariant.cs
- StrokeNodeOperations.cs
- SqlDataAdapter.cs
- Image.cs
- ContentIterators.cs
- _LocalDataStoreMgr.cs
- NativeBuffer.cs
- BulletChrome.cs
- FormViewRow.cs
- _NTAuthentication.cs
- TraceUtility.cs
- ProfilePropertyMetadata.cs
- IdnMapping.cs
- ProtocolsConfigurationHandler.cs
- StylusDownEventArgs.cs
- LocalsItemDescription.cs
- ContextMenu.cs
- CqlLexerHelpers.cs
- ScriptControlManager.cs
- DependentTransaction.cs
- HostProtectionException.cs
- FormViewCommandEventArgs.cs
- NamespaceMapping.cs
- RowSpanVector.cs
- IndexedString.cs
- ArgumentFixer.cs
- TerminatorSinks.cs
- HighlightComponent.cs
- ToolStripHighContrastRenderer.cs
- Message.cs
- ExceptionUtil.cs
- RuntimeResourceSet.cs
- PasswordDeriveBytes.cs
- Parameter.cs
- MD5.cs
- MetabaseServerConfig.cs
- DataTemplateSelector.cs
- SubMenuStyleCollection.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- Rule.cs
- FontFamilyIdentifier.cs
- ComponentEditorPage.cs
- ProvidersHelper.cs
- ColumnMapTranslator.cs
- FocusChangedEventArgs.cs
- ArgIterator.cs
- DataGridViewComboBoxEditingControl.cs
- WeakReferenceKey.cs
- MeasureData.cs
- SHA512.cs
- CqlQuery.cs
- ClipboardData.cs
- SystemColorTracker.cs
- SchemaComplexType.cs
- MatrixUtil.cs
- AnimationException.cs
- IPipelineRuntime.cs
- SmiContext.cs
- TimeZoneInfo.cs
- ScriptBehaviorDescriptor.cs
- ExtensionQuery.cs