Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / WinForms / Managed / System / WinForms / ColumnHeaderConverter.cs / 1 / 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. //------------------------------------------------------------------------------ //// 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
- MenuItemBindingCollection.cs
- MoveSizeWinEventHandler.cs
- ResourceDescriptionAttribute.cs
- NavigationProperty.cs
- TreeViewAutomationPeer.cs
- UnsafeNativeMethods.cs
- VSWCFServiceContractGenerator.cs
- ItemDragEvent.cs
- DeflateEmulationStream.cs
- GeneralTransform.cs
- ChainedAsyncResult.cs
- WebServiceReceive.cs
- ArgumentException.cs
- GridViewColumn.cs
- WorkflowRuntimeServiceElementCollection.cs
- IdnMapping.cs
- ScrollProviderWrapper.cs
- Boolean.cs
- FixedTextContainer.cs
- SpinLock.cs
- DataObject.cs
- SystemThemeKey.cs
- TouchPoint.cs
- NativeStructs.cs
- WorkflowMessageEventArgs.cs
- Site.cs
- KeySpline.cs
- ClientSideQueueItem.cs
- recordstatescratchpad.cs
- AppLevelCompilationSectionCache.cs
- IconHelper.cs
- ValueHandle.cs
- Parameter.cs
- TemplateComponentConnector.cs
- XmlnsDictionary.cs
- ListItemConverter.cs
- WindowCollection.cs
- LogicalCallContext.cs
- FastEncoder.cs
- ImageKeyConverter.cs
- ConfigXmlText.cs
- SiteMapNodeItem.cs
- IsolationInterop.cs
- DelayedRegex.cs
- Rotation3DAnimation.cs
- FieldCollectionEditor.cs
- ContextTokenTypeConverter.cs
- CompleteWizardStep.cs
- TokenBasedSet.cs
- RecordsAffectedEventArgs.cs
- ContractComponent.cs
- RelatedEnd.cs
- IdentityValidationException.cs
- CookieProtection.cs
- StagingAreaInputItem.cs
- ToolboxItemFilterAttribute.cs
- wgx_commands.cs
- DataGridViewUtilities.cs
- IndicCharClassifier.cs
- SmtpReplyReader.cs
- ExpressionPrinter.cs
- StylusEditingBehavior.cs
- GridViewDeleteEventArgs.cs
- GenericsNotImplementedException.cs
- XmlLanguageConverter.cs
- WebScriptServiceHost.cs
- ButtonBaseAdapter.cs
- PropertyRecord.cs
- BaseParagraph.cs
- ObjectConverter.cs
- XmlSecureResolver.cs
- AnyReturnReader.cs
- OleDbDataReader.cs
- SelectionEditor.cs
- _SslStream.cs
- ClientSideQueueItem.cs
- TagMapInfo.cs
- Span.cs
- DCSafeHandle.cs
- ObjectManager.cs
- FixedSchema.cs
- DesignerWebPartChrome.cs
- QilParameter.cs
- XamlTemplateSerializer.cs
- TripleDESCryptoServiceProvider.cs
- VectorKeyFrameCollection.cs
- ConvertEvent.cs
- InfoCardMasterKey.cs
- GlyphRun.cs
- TimersDescriptionAttribute.cs
- MobileControl.cs
- MgmtConfigurationRecord.cs
- SiteIdentityPermission.cs
- HttpModuleAction.cs
- PaperSource.cs
- CodeAttachEventStatement.cs
- RegexWriter.cs
- AstNode.cs
- MetadataPropertyAttribute.cs
- StylusEventArgs.cs