Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResXResourceReader.cs
- DataViewManagerListItemTypeDescriptor.cs
- NamespaceInfo.cs
- ConfigXmlWhitespace.cs
- TypeConverter.cs
- DataSysAttribute.cs
- RelationshipEndCollection.cs
- FactoryId.cs
- SafeLibraryHandle.cs
- FunctionUpdateCommand.cs
- Menu.cs
- CompilerLocalReference.cs
- ElementNotEnabledException.cs
- KeySplineConverter.cs
- LinkLabelLinkClickedEvent.cs
- SwitchCase.cs
- ConnectionManagementElement.cs
- BaseDataListComponentEditor.cs
- DSACryptoServiceProvider.cs
- InvokePattern.cs
- LocationReference.cs
- XamlReaderConstants.cs
- Manipulation.cs
- wmiprovider.cs
- EnvelopeVersion.cs
- HtmlMeta.cs
- HtmlShimManager.cs
- ProtocolException.cs
- TypedAsyncResult.cs
- Models.cs
- HWStack.cs
- BindingValueChangedEventArgs.cs
- ComplexObject.cs
- StateFinalizationDesigner.cs
- TextParentUndoUnit.cs
- ZeroOpNode.cs
- DataGridViewLinkColumn.cs
- FormatterConverter.cs
- DiffuseMaterial.cs
- VariableQuery.cs
- Oid.cs
- RangeValuePatternIdentifiers.cs
- ImpersonationOption.cs
- Guid.cs
- UxThemeWrapper.cs
- EntityDataSourceState.cs
- IResourceProvider.cs
- ManagementObjectCollection.cs
- SessionSwitchEventArgs.cs
- VideoDrawing.cs
- RecognizeCompletedEventArgs.cs
- IfAction.cs
- Transform3DGroup.cs
- XmlSchemaAttributeGroupRef.cs
- ObjectRef.cs
- CollectionMarkupSerializer.cs
- IsolatedStorageSecurityState.cs
- CatalogZoneBase.cs
- EnumMember.cs
- DataRowChangeEvent.cs
- SystemWebExtensionsSectionGroup.cs
- MaterialCollection.cs
- FixedSOMPage.cs
- BitmapCodecInfo.cs
- RewritingPass.cs
- CompilerTypeWithParams.cs
- PrivateFontCollection.cs
- HttpCookieCollection.cs
- SqlDataSource.cs
- SqlDataSourceCommandParser.cs
- TextTrailingWordEllipsis.cs
- WSSecurityOneDotOneReceiveSecurityHeader.cs
- DataGridViewCellValidatingEventArgs.cs
- UserNamePasswordValidationMode.cs
- Size3DValueSerializer.cs
- Helper.cs
- DiscreteKeyFrames.cs
- ScaleTransform.cs
- SimpleHandlerBuildProvider.cs
- ScriptingProfileServiceSection.cs
- EventProviderClassic.cs
- WebConfigurationFileMap.cs
- NameValueConfigurationCollection.cs
- SerialPinChanges.cs
- CultureInfo.cs
- RequestDescription.cs
- ComponentRenameEvent.cs
- SqlDataSourceSelectingEventArgs.cs
- XmlSchemaAll.cs
- ListViewDeleteEventArgs.cs
- UnsafeNativeMethodsTablet.cs
- PictureBox.cs
- MimeXmlImporter.cs
- CryptoConfig.cs
- AsyncStreamReader.cs
- TypeToken.cs
- PolicyUnit.cs
- XmlFormatExtensionAttribute.cs
- ContentDefinition.cs
- BuilderPropertyEntry.cs