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
- EdmType.cs
- SerializationEventsCache.cs
- DateTimeFormatInfoScanner.cs
- MaterialCollection.cs
- BuildProviderCollection.cs
- Label.cs
- HttpListener.cs
- TextTabProperties.cs
- XamlFilter.cs
- COAUTHINFO.cs
- _ScatterGatherBuffers.cs
- XmlBinaryReader.cs
- NamedPermissionSet.cs
- SpotLight.cs
- DataGridViewCheckBoxColumn.cs
- RIPEMD160.cs
- AssemblyInfo.cs
- CroppedBitmap.cs
- WizardPanel.cs
- DockAndAnchorLayout.cs
- MimePart.cs
- HostProtectionPermission.cs
- DateTime.cs
- GZipStream.cs
- WorkflowDesignerColors.cs
- FrameworkElement.cs
- ProcessInfo.cs
- XsdCachingReader.cs
- PackageDigitalSignatureManager.cs
- DbConnectionPoolOptions.cs
- LoginAutoFormat.cs
- RenderCapability.cs
- Int32AnimationUsingKeyFrames.cs
- MultiBinding.cs
- KnownTypesHelper.cs
- TrustManager.cs
- ObjectTokenCategory.cs
- UserNamePasswordClientCredential.cs
- UrlMapping.cs
- UInt32Converter.cs
- OrthographicCamera.cs
- AtomServiceDocumentSerializer.cs
- StorageSetMapping.cs
- OptimisticConcurrencyException.cs
- LineGeometry.cs
- SoapIgnoreAttribute.cs
- SafeRegistryKey.cs
- DefaultParameterValueAttribute.cs
- VariantWrapper.cs
- GrammarBuilder.cs
- GeneralTransform.cs
- FontFaceLayoutInfo.cs
- DataGridViewTopRowAccessibleObject.cs
- Int32Converter.cs
- HttpGetClientProtocol.cs
- BaseValidator.cs
- RevocationPoint.cs
- BindingMAnagerBase.cs
- TransformerInfo.cs
- ToolStripSettings.cs
- QilTypeChecker.cs
- EventMappingSettingsCollection.cs
- CodeObject.cs
- GlyphShapingProperties.cs
- XmlDocument.cs
- ManagedWndProcTracker.cs
- AuthenticationService.cs
- TrackingLocationCollection.cs
- PropertyFilterAttribute.cs
- ActionFrame.cs
- HttpCacheVaryByContentEncodings.cs
- MruCache.cs
- MetricEntry.cs
- DataServiceRequestOfT.cs
- FlowLayout.cs
- TypeSystem.cs
- DecoratedNameAttribute.cs
- CompositeActivityTypeDescriptor.cs
- TextSelectionHighlightLayer.cs
- Point3DAnimation.cs
- HttpWriter.cs
- HtmlInputFile.cs
- SqlNodeTypeOperators.cs
- ExtensionFile.cs
- SmtpNegotiateAuthenticationModule.cs
- PrintingPermission.cs
- TextEndOfLine.cs
- VarRefManager.cs
- ListViewTableRow.cs
- HttpCapabilitiesEvaluator.cs
- CreatingCookieEventArgs.cs
- ProviderConnectionPointCollection.cs
- OdbcErrorCollection.cs
- NativeObjectSecurity.cs
- AuthenticationModulesSection.cs
- StreamResourceInfo.cs
- TemplateBuilder.cs
- IsolatedStorageFilePermission.cs
- DashStyle.cs
- TCPListener.cs