Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / DataSourceCacheDurationConverter.cs / 1305376 / DataSourceCacheDurationConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Reflection;
using System.Security.Permissions;
using System.Web.Util;
///
/// Converts a cache duration such as an integer or the text "Infinite" to a cache duration, where "Infinite" implies zero (0).
///
public class DataSourceCacheDurationConverter : Int32Converter {
private StandardValuesCollection _values;
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
else {
return base.CanConvertFrom(context, sourceType);
}
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value == null)
return null;
string stringValue = value as string;
if (stringValue != null) {
string textValue = stringValue.Trim();
if (textValue.Length == 0) {
return 0;
}
if (String.Equals(textValue, "infinite", StringComparison.OrdinalIgnoreCase)) {
return 0;
}
}
return base.ConvertFrom(context, culture, value);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
if (destinationType == typeof(string)) {
return true;
}
else {
return base.CanConvertTo(context, destinationType);
}
}
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) {
if ((value != null) && (destinationType == typeof(string)) && ((int)value == 0)) {
return "Infinite";
}
else {
return base.ConvertTo(context, culture, value, destinationType);
}
}
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) {
if (_values == null) {
object[] values = new object[] { 0 };
_values = new StandardValuesCollection(values);
}
return _values;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) {
return false;
}
public override bool GetStandardValuesSupported(ITypeDescriptorContext context) {
return true;
}
}
}
// 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
- RangeValidator.cs
- Point3DConverter.cs
- BroadcastEventHelper.cs
- CompilerTypeWithParams.cs
- OdbcEnvironment.cs
- SafeLibraryHandle.cs
- QilValidationVisitor.cs
- CreateParams.cs
- IgnoreFileBuildProvider.cs
- OdbcDataAdapter.cs
- CompoundFileDeflateTransform.cs
- XmlDataImplementation.cs
- CellIdBoolean.cs
- Matrix3DStack.cs
- ToolStrip.cs
- MultiTrigger.cs
- ListViewItemSelectionChangedEvent.cs
- XmlSchemaComplexType.cs
- XPathDocumentNavigator.cs
- ZipIOBlockManager.cs
- DataSourceCache.cs
- ProcessHostConfigUtils.cs
- ActiveDesignSurfaceEvent.cs
- Stack.cs
- Rotation3DAnimation.cs
- VerificationAttribute.cs
- Expression.DebuggerProxy.cs
- WebPartEditorApplyVerb.cs
- SafeNativeMethods.cs
- ReadOnlyCollection.cs
- ListMarkerLine.cs
- ConstNode.cs
- DesignerLoader.cs
- Win32MouseDevice.cs
- TriState.cs
- DefaultMemberAttribute.cs
- RetrieveVirtualItemEventArgs.cs
- ImageMetadata.cs
- AttachedAnnotationChangedEventArgs.cs
- IDReferencePropertyAttribute.cs
- TcpHostedTransportConfiguration.cs
- CollectionView.cs
- CodeConditionStatement.cs
- Pool.cs
- RetrieveVirtualItemEventArgs.cs
- DbDataReader.cs
- MappingException.cs
- MailDefinition.cs
- TemplateLookupAction.cs
- initElementDictionary.cs
- ReadOnlyPropertyMetadata.cs
- JsonReader.cs
- WebPartHelpVerb.cs
- PreviewPageInfo.cs
- Range.cs
- TableLayout.cs
- Rectangle.cs
- TextBounds.cs
- ConfigXmlElement.cs
- PropertyMap.cs
- SystemThemeKey.cs
- EntityWithChangeTrackerStrategy.cs
- GeometryCombineModeValidation.cs
- XmlSchemaSimpleContent.cs
- ManipulationCompletedEventArgs.cs
- ConfigXmlReader.cs
- ListBase.cs
- DetailsViewRowCollection.cs
- ContractTypeNameElement.cs
- CodeNamespaceCollection.cs
- String.cs
- SpecialNameAttribute.cs
- ListDictionary.cs
- ProtocolsSection.cs
- objectquery_tresulttype.cs
- BaseTreeIterator.cs
- ListBoxChrome.cs
- SqlBulkCopy.cs
- WebExceptionStatus.cs
- XmlDataImplementation.cs
- DependencyObjectPropertyDescriptor.cs
- HttpApplication.cs
- GZipStream.cs
- PathTooLongException.cs
- MsmqTransportSecurity.cs
- RootProfilePropertySettingsCollection.cs
- CollectionExtensions.cs
- UndirectedGraph.cs
- SQLBytes.cs
- Size.cs
- BoundsDrawingContextWalker.cs
- Switch.cs
- CuspData.cs
- DataGridViewCellMouseEventArgs.cs
- Primitive.cs
- LogicalExpr.cs
- PagerStyle.cs
- MappingException.cs
- ShaperBuffers.cs
- GetWinFXPath.cs