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
- TcpTransportManager.cs
- DateTimeConverter2.cs
- TransactionInformation.cs
- ConditionChanges.cs
- StyleHelper.cs
- ToolboxControl.cs
- ReadOnlyCollectionBase.cs
- CompositionAdorner.cs
- MissingFieldException.cs
- ResourceReferenceExpression.cs
- CharAnimationUsingKeyFrames.cs
- SmiGettersStream.cs
- LayoutTable.cs
- ImagingCache.cs
- Repeater.cs
- CryptoKeySecurity.cs
- NonBatchDirectoryCompiler.cs
- AnonymousIdentificationSection.cs
- CodeAttachEventStatement.cs
- Attachment.cs
- MenuItemBinding.cs
- Substitution.cs
- AutomationPropertyInfo.cs
- FontFaceLayoutInfo.cs
- MethodBody.cs
- GregorianCalendar.cs
- View.cs
- ClientTargetSection.cs
- HostingEnvironmentSection.cs
- TextReader.cs
- WebEncodingValidatorAttribute.cs
- WindowsFormsSectionHandler.cs
- FusionWrap.cs
- QueryContinueDragEventArgs.cs
- GZipStream.cs
- PermissionToken.cs
- ListBase.cs
- unsafeIndexingFilterStream.cs
- OperationAbortedException.cs
- ClientBuildManager.cs
- TemplateApplicationHelper.cs
- NullableDoubleAverageAggregationOperator.cs
- FilterableAttribute.cs
- XmlCharCheckingWriter.cs
- DataPagerFieldItem.cs
- UnknownBitmapEncoder.cs
- RawAppCommandInputReport.cs
- JavaScriptString.cs
- TextDecorationCollectionConverter.cs
- SchemaCollectionCompiler.cs
- DesignerSerializerAttribute.cs
- DocumentXmlWriter.cs
- PackageDigitalSignatureManager.cs
- FakeModelPropertyImpl.cs
- CalendarDay.cs
- CollectionViewGroup.cs
- WebPartHelpVerb.cs
- SqlBulkCopyColumnMappingCollection.cs
- TouchFrameEventArgs.cs
- Delegate.cs
- ScopeElementCollection.cs
- SharedTcpTransportManager.cs
- RegistryExceptionHelper.cs
- JsonFormatReaderGenerator.cs
- XmlnsCache.cs
- StreamResourceInfo.cs
- WindowsEditBox.cs
- _HelperAsyncResults.cs
- RichTextBoxContextMenu.cs
- Char.cs
- DataSourceExpression.cs
- ValidationHelper.cs
- EventBindingService.cs
- HeaderCollection.cs
- PerformanceCounterManager.cs
- QilIterator.cs
- FederatedMessageSecurityOverHttpElement.cs
- SelectionChangedEventArgs.cs
- CommonXSendMessage.cs
- TokenBasedSetEnumerator.cs
- SchemaComplexType.cs
- XmlSchemaAppInfo.cs
- ClipboardData.cs
- GiveFeedbackEvent.cs
- DbgCompiler.cs
- AmbiguousMatchException.cs
- StructuredTypeEmitter.cs
- WebPartTransformerAttribute.cs
- DeferredTextReference.cs
- Transform.cs
- VerificationException.cs
- VectorCollectionConverter.cs
- BaseProcessor.cs
- QueryMath.cs
- LayoutEngine.cs
- Point3DValueSerializer.cs
- EditingScopeUndoUnit.cs
- DataSourceControlBuilder.cs
- ResourceCodeDomSerializer.cs
- GenericFlowSwitchHelper.cs