<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.0-preview.7.24405.7" />

TimeSpanSecondsOrInfiniteConverter

Converts a TimeSpan expressed in seconds or as a standard infinite time span.
using System.ComponentModel; using System.Globalization; namespace System.Configuration { public sealed class TimeSpanSecondsOrInfiniteConverter : TimeSpanSecondsConverter { public override object ConvertTo(ITypeDescriptorContext ctx, CultureInfo ci, object value, Type type) { ConfigurationConverterBase.ValidateType(value, typeof(TimeSpan)); if (!((TimeSpan)value == TimeSpan.MaxValue)) return base.ConvertTo(ctx, ci, value, type); return "Infinite"; } public override object ConvertFrom(ITypeDescriptorContext ctx, CultureInfo ci, object data) { if (!((string)data == "Infinite")) return base.ConvertFrom(ctx, ci, data); return TimeSpan.MaxValue; } } }