Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / TimeSpanConverter.cs / 1 / TimeSpanConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel { using Microsoft.Win32; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters; using System.Security.Permissions; using System.Threading; ////// [HostProtection(SharedState = true)] public class TimeSpanConverter : TypeConverter { ///Provides a type converter to convert ////// objects to and from various /// other representations. /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) { return true; } return base.CanConvertFrom(context, sourceType); } ///Gets a value indicating whether this converter can /// convert an object in the given source type to a ///object using the /// specified context. /// 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. ////// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { string text = ((string)value).Trim(); try { return TimeSpan.Parse(text); } catch (FormatException e) { throw new FormatException(SR.GetString(SR.ConvertInvalidPrimitive, (string)value, "TimeSpan"), e); } } return base.ConvertFrom(context, culture, value); } ///Converts the given object to a ////// object. /// 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 TimeSpan) { MethodInfo method = typeof(TimeSpan).GetMethod("Parse", new Type[] {typeof(string)}); if (method != null) { return new InstanceDescriptor(method, new object[] {value.ToString()}); } } return base.ConvertTo(context, culture, value, destinationType); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- wgx_commands.cs
- MonitorWrapper.cs
- DefaultValueMapping.cs
- _RegBlobWebProxyDataBuilder.cs
- StyleBamlTreeBuilder.cs
- ScriptingRoleServiceSection.cs
- ClientUtils.cs
- SubpageParagraph.cs
- CodeNamespace.cs
- dtdvalidator.cs
- NoResizeSelectionBorderGlyph.cs
- ListDictionaryInternal.cs
- HMACSHA384.cs
- ConfigXmlElement.cs
- NameService.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- TemplateBindingExtensionConverter.cs
- BaseComponentEditor.cs
- SerTrace.cs
- MobileControlBuilder.cs
- ExpressionConverter.cs
- FrameworkTextComposition.cs
- COM2ExtendedTypeConverter.cs
- ServiceModelSecurityTokenRequirement.cs
- DomainUpDown.cs
- DataObjectPastingEventArgs.cs
- ExceptionHelpers.cs
- RegistrySecurity.cs
- StylusPointPropertyUnit.cs
- SQLInt32Storage.cs
- FixedSOMFixedBlock.cs
- WSFederationHttpBindingCollectionElement.cs
- ToolStripSplitStackLayout.cs
- PreservationFileWriter.cs
- TableFieldsEditor.cs
- EventLogPermissionEntryCollection.cs
- SyndicationFeedFormatter.cs
- altserialization.cs
- BamlBinaryReader.cs
- CompatibleComparer.cs
- FormatConvertedBitmap.cs
- CheckBoxField.cs
- GridViewUpdateEventArgs.cs
- EnvelopedSignatureTransform.cs
- WebZone.cs
- OdbcConnectionStringbuilder.cs
- ImageList.cs
- CodeChecksumPragma.cs
- DataGridViewComboBoxColumn.cs
- DataSysAttribute.cs
- _FixedSizeReader.cs
- BasicKeyConstraint.cs
- IdentityManager.cs
- ThreadAttributes.cs
- ValueProviderWrapper.cs
- DeleteCardRequest.cs
- ModelPropertyImpl.cs
- HybridWebProxyFinder.cs
- XmlSerializerSection.cs
- HttpChannelBindingToken.cs
- ConnectionStringSettingsCollection.cs
- DbBuffer.cs
- MemoryMappedView.cs
- TextProperties.cs
- TypeSource.cs
- HatchBrush.cs
- BoundField.cs
- ObjectAnimationUsingKeyFrames.cs
- DataGridViewTopRowAccessibleObject.cs
- MessageQueueException.cs
- ObjectNavigationPropertyMapping.cs
- ShaderRenderModeValidation.cs
- ReferentialConstraintRoleElement.cs
- HandleValueEditor.cs
- AnonymousIdentificationModule.cs
- LineSegment.cs
- ItemMap.cs
- SafeSystemMetrics.cs
- ImageResources.Designer.cs
- UIElement.cs
- ValidationRule.cs
- SafeNativeMethods.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- CheckoutException.cs
- HtmlHead.cs
- VerticalConnector.xaml.cs
- XmlSortKey.cs
- QuaternionValueSerializer.cs
- DiscoveryCallbackBehavior.cs
- EntityDataSourceSelectingEventArgs.cs
- ArrayMergeHelper.cs
- CompositeScriptReference.cs
- CollectionViewSource.cs
- DataBindingCollection.cs
- SqlDependencyUtils.cs
- DirectoryObjectSecurity.cs
- BitmapImage.cs
- TypeListConverter.cs
- UInt32.cs
- EventLog.cs