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
- PermissionRequestEvidence.cs
- DesignerProperties.cs
- CodeObjectCreateExpression.cs
- DataGridCell.cs
- _HeaderInfo.cs
- BooleanFunctions.cs
- DbProviderFactory.cs
- XmlSchemaInferenceException.cs
- ConnectionPointCookie.cs
- PageHandlerFactory.cs
- shaperfactoryquerycachekey.cs
- WizardDesigner.cs
- MimeReflector.cs
- SR.cs
- WorkflowPersistenceService.cs
- RawMouseInputReport.cs
- HtmlTernaryTree.cs
- QuadraticBezierSegment.cs
- SEHException.cs
- BuildResultCache.cs
- ConfigXmlSignificantWhitespace.cs
- ListViewInsertEventArgs.cs
- ComponentChangingEvent.cs
- SmiEventSink_Default.cs
- ZoneLinkButton.cs
- DataColumnMapping.cs
- DbModificationClause.cs
- Request.cs
- XsltFunctions.cs
- XPathSelfQuery.cs
- GroupBoxAutomationPeer.cs
- AdornerPresentationContext.cs
- DecoderNLS.cs
- MimeObjectFactory.cs
- ButtonChrome.cs
- TransformProviderWrapper.cs
- EllipticalNodeOperations.cs
- AlternationConverter.cs
- SqlCaseSimplifier.cs
- OneWayBindingElement.cs
- IriParsingElement.cs
- DefaultHttpHandler.cs
- SrgsText.cs
- AppDomainManager.cs
- KerberosTicketHashIdentifierClause.cs
- ObjectRef.cs
- EmbossBitmapEffect.cs
- SByteStorage.cs
- X509Extension.cs
- RichTextBoxConstants.cs
- HttpConfigurationSystem.cs
- DataObject.cs
- SchemaElement.cs
- CommandHelpers.cs
- Bits.cs
- TextEditorContextMenu.cs
- _LoggingObject.cs
- SetterBase.cs
- ObjectItemCollection.cs
- Composition.cs
- OutputCacheSection.cs
- CodeTypeMember.cs
- StatusBar.cs
- ExpandCollapseProviderWrapper.cs
- AesCryptoServiceProvider.cs
- RSAPKCS1SignatureDeformatter.cs
- ActivationServices.cs
- RefreshPropertiesAttribute.cs
- SponsorHelper.cs
- GridViewEditEventArgs.cs
- CodeLinePragma.cs
- FrameDimension.cs
- PolyBezierSegmentFigureLogic.cs
- TextSelectionHighlightLayer.cs
- TokenizerHelper.cs
- XmlValidatingReaderImpl.cs
- RegisteredScript.cs
- KeyNotFoundException.cs
- NameValueCollection.cs
- LoadWorkflowCommand.cs
- XhtmlBasicValidatorAdapter.cs
- CounterSample.cs
- StringValidatorAttribute.cs
- Size.cs
- Mappings.cs
- SemaphoreSecurity.cs
- HostProtectionException.cs
- ClientSponsor.cs
- CompareInfo.cs
- Transactions.cs
- OAVariantLib.cs
- FormCollection.cs
- TextElement.cs
- ErrorFormatterPage.cs
- ScrollItemPattern.cs
- MsmqInputChannelListener.cs
- ReadOnlyDictionary.cs
- OleDbErrorCollection.cs
- NativeCppClassAttribute.cs
- XmlQualifiedNameTest.cs