Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / TimeSpanOrInfiniteConverter.cs / 1305376 / TimeSpanOrInfiniteConverter.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime
{
using System;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.ComponentModel;
[SuppressMessage(FxCop.Category.Xaml, FxCop.Rule.TypeConvertersMustBePublic,
Justification = "Only used by discovery, which doesn't support PT")]
class TimeSpanOrInfiniteConverter : TimeSpanConverter
{
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cultureInfo, object value, Type type)
{
if (value == null)
{
throw Fx.Exception.ArgumentNull("value");
}
if (!(value is TimeSpan))
{
throw Fx.Exception.Argument("value", SRCore.IncompatibleArgumentType(typeof(TimeSpan), value.GetType()));
}
if ((TimeSpan)value == TimeSpan.MaxValue)
{
return "Infinite";
}
else
{
return base.ConvertTo(context, cultureInfo, value, type);
}
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo cultureInfo, object data)
{
if (string.Equals((string)data, "infinite", StringComparison.OrdinalIgnoreCase))
{
return TimeSpan.MaxValue;
}
else
{
return base.ConvertFrom(context, cultureInfo, data);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime
{
using System;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.ComponentModel;
[SuppressMessage(FxCop.Category.Xaml, FxCop.Rule.TypeConvertersMustBePublic,
Justification = "Only used by discovery, which doesn't support PT")]
class TimeSpanOrInfiniteConverter : TimeSpanConverter
{
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cultureInfo, object value, Type type)
{
if (value == null)
{
throw Fx.Exception.ArgumentNull("value");
}
if (!(value is TimeSpan))
{
throw Fx.Exception.Argument("value", SRCore.IncompatibleArgumentType(typeof(TimeSpan), value.GetType()));
}
if ((TimeSpan)value == TimeSpan.MaxValue)
{
return "Infinite";
}
else
{
return base.ConvertTo(context, cultureInfo, value, type);
}
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo cultureInfo, object data)
{
if (string.Equals((string)data, "infinite", StringComparison.OrdinalIgnoreCase))
{
return TimeSpan.MaxValue;
}
else
{
return base.ConvertFrom(context, cultureInfo, data);
}
}
}
}
// 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
- ObjectConverter.cs
- ItemsControlAutomationPeer.cs
- LeaseManager.cs
- SByteConverter.cs
- FormViewCommandEventArgs.cs
- ConnectionManagementSection.cs
- ReflectionTypeLoadException.cs
- ExceptionHelpers.cs
- ProfileSettingsCollection.cs
- AudioLevelUpdatedEventArgs.cs
- WeakReferenceList.cs
- MetadataCache.cs
- LoginNameDesigner.cs
- ProcessHostMapPath.cs
- DrawingGroup.cs
- HtmlTableRow.cs
- Visitor.cs
- PartitionResolver.cs
- DuplicateWaitObjectException.cs
- ResourceIDHelper.cs
- DataAdapter.cs
- AuthenticateEventArgs.cs
- TranslateTransform3D.cs
- CodeIndexerExpression.cs
- CategoryGridEntry.cs
- SrgsOneOf.cs
- X509Chain.cs
- QueryResponse.cs
- DocumentReferenceCollection.cs
- MobileSysDescriptionAttribute.cs
- ExtendedProperty.cs
- PropertyGridEditorPart.cs
- TextSerializer.cs
- WebServiceData.cs
- LayoutEvent.cs
- StrokeDescriptor.cs
- EventLogPermission.cs
- EntityDesignerBuildProvider.cs
- BrushValueSerializer.cs
- Panel.cs
- CookieHandler.cs
- MethodRental.cs
- FontFamily.cs
- RegexStringValidatorAttribute.cs
- ActivityDesigner.cs
- ObjectContextServiceProvider.cs
- MessageFilter.cs
- PropertyGeneratedEventArgs.cs
- XmlAttributeCache.cs
- BinHexEncoder.cs
- TypedReference.cs
- UdpUtility.cs
- WaveHeader.cs
- XmlDataLoader.cs
- sqlnorm.cs
- ProcessModuleCollection.cs
- Translator.cs
- ModulesEntry.cs
- DataGridViewHitTestInfo.cs
- CngAlgorithm.cs
- XsdSchemaFileEditor.cs
- DbUpdateCommandTree.cs
- AccessibleObject.cs
- SwitchElementsCollection.cs
- RSAPKCS1SignatureFormatter.cs
- Path.cs
- HMACSHA256.cs
- EntityViewContainer.cs
- FileFormatException.cs
- ColumnMapProcessor.cs
- UnsafeNativeMethods.cs
- PageAsyncTaskManager.cs
- KeyTimeConverter.cs
- DataControlFieldCollection.cs
- TcpAppDomainProtocolHandler.cs
- ActivityXamlServices.cs
- PropertyMapper.cs
- CultureInfoConverter.cs
- ToolboxItemWrapper.cs
- SqlDataSource.cs
- XmlSchemaSimpleTypeList.cs
- ActiveXHost.cs
- HwndKeyboardInputProvider.cs
- CodeAccessPermission.cs
- RotateTransform3D.cs
- ConstraintStruct.cs
- SecurityDocument.cs
- TemplatePartAttribute.cs
- XmlSerializationReader.cs
- UrlMappingsModule.cs
- XmlFormatReaderGenerator.cs
- XmlChildNodes.cs
- StylusCaptureWithinProperty.cs
- FacetEnabledSchemaElement.cs
- IChannel.cs
- Image.cs
- DelegateSerializationHolder.cs
- TagPrefixCollection.cs
- SchemaDeclBase.cs
- WebPartZone.cs