Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / CompMod / System / ComponentModel / TypeListConverter.cs / 1 / TypeListConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel { using Microsoft.Win32; using System.Collections; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters; using System.Security.Permissions; ////// [HostProtection(SharedState = true)] public abstract class TypeListConverter : TypeConverter { private Type[] types; private StandardValuesCollection values; ///Provides a type /// converter that can be used to populate a list box with available types. ////// protected TypeListConverter(Type[] types) { this.types = types; } ///Initializes a new instance of the ///class using /// the type array as the available types. /// /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) { return true; } return base.CanConvertFrom(context, sourceType); } ///Gets a value indicating whether this converter /// can convert an object in the given source type to an enumeration object using /// the specified context. ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { foreach(Type t in types) { if (value.Equals(t.FullName)) { return t; } } } return base.ConvertFrom(context, culture, value); } ///Converts the specified value object to an enumeration object. ////// /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == null) { throw new ArgumentNullException("destinationType"); } if (destinationType == typeof(string)) { if (value == null) { return SR.GetString(SR.toStringNone); } else { return((Type)value).FullName; } } if (destinationType == typeof(InstanceDescriptor) && value is Type) { MethodInfo method = typeof(Type).GetMethod("GetType", new Type[] {typeof(string)}); if (method != null) { return new InstanceDescriptor(method, new object[] {((Type)value).AssemblyQualifiedName}); } } return base.ConvertTo(context, culture, value, destinationType); } ///Converts the given value object to the specified destination type. ////// /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (values == null) { object[] objTypes; if (types != null) { objTypes = new object[types.Length]; Array.Copy(types, objTypes, types.Length); } else { objTypes = null; } values = new StandardValuesCollection(objTypes); } return values; } ///Gets a collection of standard values for the data type this validator is /// designed for. ////// /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return true; } ///Gets a value indicating whether the list of standard values returned from /// ///is an exclusive list. /// /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Gets a value indicating whether this object supports a /// standard set of values that can be picked from a list using the specified /// context. ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel { using Microsoft.Win32; using System.Collections; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters; using System.Security.Permissions; ////// [HostProtection(SharedState = true)] public abstract class TypeListConverter : TypeConverter { private Type[] types; private StandardValuesCollection values; ///Provides a type /// converter that can be used to populate a list box with available types. ////// protected TypeListConverter(Type[] types) { this.types = types; } ///Initializes a new instance of the ///class using /// the type array as the available types. /// /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) { return true; } return base.CanConvertFrom(context, sourceType); } ///Gets a value indicating whether this converter /// can convert an object in the given source type to an enumeration object using /// the specified context. ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { foreach(Type t in types) { if (value.Equals(t.FullName)) { return t; } } } return base.ConvertFrom(context, culture, value); } ///Converts the specified value object to an enumeration object. ////// /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == null) { throw new ArgumentNullException("destinationType"); } if (destinationType == typeof(string)) { if (value == null) { return SR.GetString(SR.toStringNone); } else { return((Type)value).FullName; } } if (destinationType == typeof(InstanceDescriptor) && value is Type) { MethodInfo method = typeof(Type).GetMethod("GetType", new Type[] {typeof(string)}); if (method != null) { return new InstanceDescriptor(method, new object[] {((Type)value).AssemblyQualifiedName}); } } return base.ConvertTo(context, culture, value, destinationType); } ///Converts the given value object to the specified destination type. ////// /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (values == null) { object[] objTypes; if (types != null) { objTypes = new object[types.Length]; Array.Copy(types, objTypes, types.Length); } else { objTypes = null; } values = new StandardValuesCollection(objTypes); } return values; } ///Gets a collection of standard values for the data type this validator is /// designed for. ////// /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return true; } ///Gets a value indicating whether the list of standard values returned from /// ///is an exclusive list. /// /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Gets a value indicating whether this object supports a /// standard set of values that can be picked from a list using the specified /// context. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DashStyles.cs
- PropVariant.cs
- UnmanagedMemoryStream.cs
- DataGridViewColumnHeaderCell.cs
- LOSFormatter.cs
- WebConvert.cs
- Serialization.cs
- DoubleStorage.cs
- AspNetHostingPermission.cs
- MessageDecoder.cs
- Rule.cs
- DrawingContextWalker.cs
- DnsPermission.cs
- UseAttributeSetsAction.cs
- Line.cs
- PreviewPageInfo.cs
- TdsParserSafeHandles.cs
- WrappedIUnknown.cs
- OAVariantLib.cs
- ColorConvertedBitmapExtension.cs
- Tuple.cs
- KeyInfo.cs
- VirtualPathProvider.cs
- CompositeFontFamily.cs
- CryptoConfig.cs
- CaseStatementSlot.cs
- RewritingProcessor.cs
- IPGlobalProperties.cs
- DbMetaDataCollectionNames.cs
- GeometryDrawing.cs
- MatrixTransform.cs
- SchemaNamespaceManager.cs
- EntityConnectionStringBuilder.cs
- LoginName.cs
- BehaviorEditorPart.cs
- DocumentPageViewAutomationPeer.cs
- SerialPort.cs
- ColumnMapCopier.cs
- UnsafeNativeMethods.cs
- WindowsSpinner.cs
- ButtonPopupAdapter.cs
- NativeMethods.cs
- VBCodeProvider.cs
- HttpDictionary.cs
- oledbmetadatacollectionnames.cs
- SiteMapDataSourceView.cs
- ToolStripGrip.cs
- OciLobLocator.cs
- UntypedNullExpression.cs
- DisplayMemberTemplateSelector.cs
- ObjectIDGenerator.cs
- LayoutSettings.cs
- Proxy.cs
- ListCollectionView.cs
- CommandConverter.cs
- CompositeDataBoundControl.cs
- SecurityContextTokenValidationException.cs
- CodePropertyReferenceExpression.cs
- SelectionEditor.cs
- GenericsInstances.cs
- TokenFactoryFactory.cs
- QilReplaceVisitor.cs
- AutomationTextAttribute.cs
- TabletDevice.cs
- MethodImplAttribute.cs
- PointAnimationUsingKeyFrames.cs
- TrustVersion.cs
- OdbcParameterCollection.cs
- DelayedRegex.cs
- TransactionInterop.cs
- ScaleTransform.cs
- DataBindingCollection.cs
- VideoDrawing.cs
- WebContentFormatHelper.cs
- CodeObjectCreateExpression.cs
- IdentityHolder.cs
- DatagridviewDisplayedBandsData.cs
- SubstitutionList.cs
- ParamArrayAttribute.cs
- MsmqInputMessage.cs
- DesignerActionMethodItem.cs
- RootBrowserWindowAutomationPeer.cs
- WorkflowServiceHost.cs
- ProcessHostFactoryHelper.cs
- FusionWrap.cs
- TypeSystemHelpers.cs
- StrongTypingException.cs
- recordstate.cs
- Localizer.cs
- EnumerableCollectionView.cs
- CatalogPartChrome.cs
- WebPartHelpVerb.cs
- AmbientProperties.cs
- DependsOnAttribute.cs
- TextTreeTextBlock.cs
- ToggleProviderWrapper.cs
- XMLDiffLoader.cs
- DesignTimeVisibleAttribute.cs
- NetworkStream.cs
- AssemblyName.cs