Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CompiledXpathExpr.cs
- UrlMapping.cs
- DriveNotFoundException.cs
- BaseParagraph.cs
- XPathNodeHelper.cs
- BitmapEffectDrawingContent.cs
- UIElementPropertyUndoUnit.cs
- WebPartConnectionsEventArgs.cs
- Form.cs
- CompilerScopeManager.cs
- CurrencyManager.cs
- QueryConverter.cs
- Vector3DAnimationBase.cs
- ConnectionPoint.cs
- Int32AnimationUsingKeyFrames.cs
- HtmlCommandAdapter.cs
- UnmanagedMarshal.cs
- VBCodeProvider.cs
- DetailsViewRowCollection.cs
- FormViewPageEventArgs.cs
- ListViewDataItem.cs
- _KerberosClient.cs
- ConfigurationLocationCollection.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ToolStripOverflowButton.cs
- ContractsBCL.cs
- DynamicUpdateCommand.cs
- ResolvedKeyFrameEntry.cs
- SmtpReplyReaderFactory.cs
- Command.cs
- MobileUITypeEditor.cs
- DynamicVirtualDiscoSearcher.cs
- OutOfProcStateClientManager.cs
- FeatureSupport.cs
- AssemblyInfo.cs
- UmAlQuraCalendar.cs
- X509ChainPolicy.cs
- FixedSOMLineCollection.cs
- IdentityElement.cs
- DbProviderServices.cs
- Cursors.cs
- FontStyleConverter.cs
- PermissionAttributes.cs
- XmlWriterSettings.cs
- SettingsPropertyValue.cs
- Typeface.cs
- IsolatedStorageException.cs
- AccessViolationException.cs
- XmlSchemaValidator.cs
- UnsafeNativeMethods.cs
- SecureConversationDriver.cs
- MtomMessageEncodingElement.cs
- SettingsPropertyValueCollection.cs
- HtmlImage.cs
- DBSqlParser.cs
- ListViewHitTestInfo.cs
- GridViewHeaderRowPresenter.cs
- Propagator.ExtentPlaceholderCreator.cs
- HebrewNumber.cs
- DataGridViewCellLinkedList.cs
- SspiSecurityTokenProvider.cs
- PointHitTestResult.cs
- HostingEnvironmentException.cs
- Pool.cs
- VoiceSynthesis.cs
- ConsumerConnectionPointCollection.cs
- XmlSerializerNamespaces.cs
- HttpCacheParams.cs
- RoleGroupCollection.cs
- AnnotationObservableCollection.cs
- WinEventHandler.cs
- SoundPlayerAction.cs
- AlignmentXValidation.cs
- FlowNode.cs
- indexingfiltermarshaler.cs
- ToolStripPanelCell.cs
- LinearGradientBrush.cs
- RefreshPropertiesAttribute.cs
- TypeLibConverter.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- TextTreeTextBlock.cs
- documentsequencetextcontainer.cs
- CellPartitioner.cs
- CodeTypeMemberCollection.cs
- ByteConverter.cs
- DbProviderManifest.cs
- TableHeaderCell.cs
- ReliableChannelFactory.cs
- MulticastNotSupportedException.cs
- WindowInteropHelper.cs
- ActivityExecutionContextCollection.cs
- AnnotationResourceChangedEventArgs.cs
- Function.cs
- InstanceHandleConflictException.cs
- Win32.cs
- HtmlElementCollection.cs
- XmlSortKeyAccumulator.cs
- Context.cs
- MatrixKeyFrameCollection.cs
- RegexMatch.cs