Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- DesignerSerializationOptionsAttribute.cs
- SoapInteropTypes.cs
- ListBase.cs
- DSACryptoServiceProvider.cs
- MissingManifestResourceException.cs
- Separator.cs
- CallbackHandler.cs
- BindingExpression.cs
- WmfPlaceableFileHeader.cs
- EntityCollectionChangedParams.cs
- ViewUtilities.cs
- ConfigurationPropertyAttribute.cs
- WebPartDescription.cs
- SecurityDescriptor.cs
- CannotUnloadAppDomainException.cs
- AbandonedMutexException.cs
- TimeoutException.cs
- HierarchicalDataBoundControl.cs
- TraceUtility.cs
- TableLayout.cs
- CompareInfo.cs
- ConfigurationSectionCollection.cs
- LinkLabel.cs
- MdiWindowListItemConverter.cs
- PointLightBase.cs
- UInt16.cs
- ValidationRule.cs
- TextUtf8RawTextWriter.cs
- TextProperties.cs
- TcpClientChannel.cs
- HttpSocketManager.cs
- IRCollection.cs
- AnnotationAuthorChangedEventArgs.cs
- ContextMenuAutomationPeer.cs
- DataServiceQueryProvider.cs
- LifetimeServices.cs
- ScriptRegistrationManager.cs
- AutomationPatternInfo.cs
- NotifyInputEventArgs.cs
- FormatVersion.cs
- Calendar.cs
- HostVisual.cs
- ClusterSafeNativeMethods.cs
- ProviderException.cs
- FamilyCollection.cs
- XmlTextReaderImplHelpers.cs
- XmlLinkedNode.cs
- HighContrastHelper.cs
- InteropAutomationProvider.cs
- Pointer.cs
- categoryentry.cs
- HelpInfo.cs
- ZipIOCentralDirectoryFileHeader.cs
- BinaryParser.cs
- EdgeModeValidation.cs
- DynamicActivityTypeDescriptor.cs
- SecureEnvironment.cs
- SessionEndingCancelEventArgs.cs
- HostedElements.cs
- EmptyControlCollection.cs
- CatalogPart.cs
- MdiWindowListItemConverter.cs
- ExpressionServices.cs
- SupportsEventValidationAttribute.cs
- LogEntrySerialization.cs
- EdmProviderManifest.cs
- SqlPersonalizationProvider.cs
- WriterOutput.cs
- MenuEventArgs.cs
- HostVisual.cs
- Composition.cs
- MsmqUri.cs
- Column.cs
- IsolatedStoragePermission.cs
- InvariantComparer.cs
- FromRequest.cs
- ArrayHelper.cs
- WebPartConnectionsDisconnectVerb.cs
- CodeDomSerializer.cs
- HijriCalendar.cs
- BamlTreeUpdater.cs
- CompressedStack.cs
- DbParameterCollectionHelper.cs
- KeyValueInternalCollection.cs
- DiscoveryService.cs
- MemberCollection.cs
- SpotLight.cs
- login.cs
- TextRange.cs
- ComponentEditorForm.cs
- ActivityExecutionContextCollection.cs
- CorrelationExtension.cs
- ListSortDescription.cs
- BindingManagerDataErrorEventArgs.cs
- Error.cs
- WorkflowInstanceAbortedRecord.cs
- TdsParserStaticMethods.cs
- DBAsyncResult.cs
- ExportOptions.cs
- CodeAttributeDeclaration.cs