Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ColumnHeaderConverter.cs / 1305376 / ColumnHeaderConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms { using System.Runtime.Serialization.Formatters; using System.Runtime.Remoting; using System.Runtime.InteropServices; using Microsoft.Win32; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Drawing; using System.Diagnostics; using System.Globalization; using System.Reflection; ////// /// public class ColumnHeaderConverter : ExpandableObjectConverter { ////// /// 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. ////// /// Converts the given object to another type. The most common types to convert /// are to and from a string object. The default implementation will make a call /// to ToString on the object if the object is valid and if the destination /// type is string. If this cannot convert to the desitnation type, this will /// throw a NotSupportedException. /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == null) { throw new ArgumentNullException("destinationType"); } if (destinationType == typeof(InstanceDescriptor) && value is ColumnHeader) { ColumnHeader col = (ColumnHeader) value; ConstructorInfo ctor; Type t = TypeDescriptor.GetReflectionType(value); InstanceDescriptor id = null; if (col.ImageIndex != -1) { ctor = t.GetConstructor(new Type[]{typeof(int)}); if (ctor != null) { id = new InstanceDescriptor(ctor, new object[]{col.ImageIndex}, false); } } if (id == null && !String.IsNullOrEmpty(col.ImageKey)) { ctor = t.GetConstructor(new Type[]{typeof(string)}); if (ctor != null) { id = new InstanceDescriptor(ctor, new object[]{col.ImageKey}, false); } } if (id == null) { ctor = t.GetConstructor(new Type[0]); if (ctor != null) { return new InstanceDescriptor(ctor, new object[0], false); } else { throw new ArgumentException(SR.GetString(SR.NoDefaultConstructor, t.FullName)); } } return id; } return base.ConvertTo(context, culture, value, destinationType); } } } // 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
- FileEnumerator.cs
- Polyline.cs
- InheritedPropertyChangedEventArgs.cs
- HandleValueEditor.cs
- SqlParameter.cs
- CodeGeneratorOptions.cs
- WorkflowShape.cs
- StringCollection.cs
- MissingSatelliteAssemblyException.cs
- SqlDataSourceCommandEventArgs.cs
- FixedPageAutomationPeer.cs
- HttpUnhandledOperationInvoker.cs
- TimeSpanConverter.cs
- DataGridViewLinkCell.cs
- ServiceControllerDesigner.cs
- NullPackagingPolicy.cs
- TraceInternal.cs
- SqlReferenceCollection.cs
- ProviderCollection.cs
- PointLight.cs
- XmlSerializerAssemblyAttribute.cs
- CmsUtils.cs
- CursorConverter.cs
- Win32PrintDialog.cs
- SponsorHelper.cs
- RectangleHotSpot.cs
- MetadataHelper.cs
- TemplateNameScope.cs
- DropTarget.cs
- ControlIdConverter.cs
- ListManagerBindingsCollection.cs
- SqlBulkCopyColumnMappingCollection.cs
- ConnectionPointGlyph.cs
- QueryCacheEntry.cs
- ProviderConnectionPoint.cs
- FileVersion.cs
- SqlDataSource.cs
- EnvelopedSignatureTransform.cs
- ShapeTypeface.cs
- TransformerInfo.cs
- WebPartUtil.cs
- CatalogPartCollection.cs
- ImageDrawing.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- OutputCacheModule.cs
- ImageMap.cs
- IncrementalReadDecoders.cs
- Label.cs
- SQLCharsStorage.cs
- TrackingDataItemValue.cs
- StringSorter.cs
- DesignerActionListCollection.cs
- SupportingTokenProviderSpecification.cs
- Vector3DCollection.cs
- XsdBuildProvider.cs
- DetailsView.cs
- DesignerActionService.cs
- ValidationError.cs
- TextTreeExtractElementUndoUnit.cs
- ContentDefinition.cs
- Button.cs
- XhtmlBasicListAdapter.cs
- NextPreviousPagerField.cs
- WebPartManagerInternals.cs
- PreProcessor.cs
- EventSinkActivity.cs
- UserControl.cs
- COSERVERINFO.cs
- OdbcDataReader.cs
- VirtualizedItemPattern.cs
- RecognizerBase.cs
- ByteStream.cs
- ImageList.cs
- XmlDownloadManager.cs
- RawStylusInput.cs
- XmlQueryRuntime.cs
- CustomPeerResolverService.cs
- DataGridParentRows.cs
- RemoveStoryboard.cs
- EntityContainerRelationshipSet.cs
- AsymmetricKeyExchangeDeformatter.cs
- FieldDescriptor.cs
- SafeRightsManagementHandle.cs
- BindingList.cs
- IResourceProvider.cs
- WmfPlaceableFileHeader.cs
- ClientSettings.cs
- TextWriter.cs
- WebServiceParameterData.cs
- HandleCollector.cs
- FlowLayoutSettings.cs
- WebPartDisplayModeCollection.cs
- BufferBuilder.cs
- ObjectPersistData.cs
- LinqDataSourceContextEventArgs.cs
- CharacterHit.cs
- OperatingSystemVersionCheck.cs
- DetailsViewCommandEventArgs.cs
- InArgument.cs
- __TransparentProxy.cs