Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / Design / SizeConverter.cs / 1305376 / SizeConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Messaging.Design {
using System.Messaging;
using System.ComponentModel;
using System.Diagnostics;
using System;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Collections;
using System.Globalization;
///
internal class SizeConverter : TypeConverter {
///
///
/// Determines if this converter can convert an object in the given source
/// type to the native type of the converter.
///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
return base.CanConvertFrom(context, sourceType);
}
///
///
/// Converts the given object to the converter's native type.
///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value is string) {
string text = ((string)value).Trim();
if (text.Length == 0 || string.Compare(text, Res.GetString(Res.InfiniteValue), true, CultureInfo.CurrentCulture) == 0)
return(long)uint.MaxValue;
else {
long size = Convert.ToInt64(text, culture);
return size;
}
}
return base.ConvertFrom(context, culture, value);
}
///
///
/// 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(string)) {
if (value != null) {
if ((long)value == uint.MaxValue)
return Res.GetString(Res.InfiniteValue);
else
return value.ToString();
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
// 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
- LongMinMaxAggregationOperator.cs
- PeerUnsafeNativeMethods.cs
- ReadWriteSpinLock.cs
- XPathDocumentNavigator.cs
- BitmapDecoder.cs
- Size3DConverter.cs
- MessageSmuggler.cs
- ProcessHostFactoryHelper.cs
- MultiByteCodec.cs
- HostSecurityManager.cs
- DataKey.cs
- PlainXmlSerializer.cs
- Operator.cs
- arabicshape.cs
- Sql8ConformanceChecker.cs
- ProxyGenerationError.cs
- EntityContainerEntitySet.cs
- ListSortDescription.cs
- CloudCollection.cs
- WebPartCatalogAddVerb.cs
- IsolatedStoragePermission.cs
- Soap11ServerProtocol.cs
- ResourceExpressionBuilder.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- XmlIgnoreAttribute.cs
- PerformanceCounter.cs
- AutomationElement.cs
- FreezableDefaultValueFactory.cs
- AssertSection.cs
- SwitchLevelAttribute.cs
- HashHelper.cs
- AuthenticationManager.cs
- SecurityHelper.cs
- SQLBytes.cs
- NullableFloatMinMaxAggregationOperator.cs
- XmlDocument.cs
- PropertyNames.cs
- ClientScriptManagerWrapper.cs
- MimeBasePart.cs
- ConvertEvent.cs
- DbgCompiler.cs
- Control.cs
- BindingExpression.cs
- HostingEnvironmentSection.cs
- FlowDocumentFormatter.cs
- ValidationError.cs
- NativeRightsManagementAPIsStructures.cs
- CheckBoxStandardAdapter.cs
- BinaryMessageEncodingElement.cs
- CommandEventArgs.cs
- ScrollContentPresenter.cs
- QilName.cs
- WebExceptionStatus.cs
- TempFiles.cs
- TypeBuilder.cs
- MimeBasePart.cs
- FontNamesConverter.cs
- WorkerRequest.cs
- SqlDataSourceStatusEventArgs.cs
- ProxyAttribute.cs
- QueryReaderSettings.cs
- SqlDependencyListener.cs
- BaseTreeIterator.cs
- SqlGatherConsumedAliases.cs
- XmlSchemaAnnotation.cs
- WmlLabelAdapter.cs
- BuilderPropertyEntry.cs
- PageWrapper.cs
- UInt16.cs
- Shape.cs
- DesignSurfaceServiceContainer.cs
- CodeCommentStatement.cs
- XhtmlConformanceSection.cs
- StateDesigner.TransitionInfo.cs
- ZipIOBlockManager.cs
- FullTextLine.cs
- DesignerAdapterAttribute.cs
- NetTcpSectionData.cs
- ExeConfigurationFileMap.cs
- DrawItemEvent.cs
- Cursors.cs
- StreamMarshaler.cs
- HttpCachePolicyBase.cs
- NullReferenceException.cs
- SemanticAnalyzer.cs
- FileIOPermission.cs
- ToolStripDropDownClosedEventArgs.cs
- RotateTransform3D.cs
- BrushValueSerializer.cs
- SoapDocumentServiceAttribute.cs
- SiteMap.cs
- FolderLevelBuildProvider.cs
- TimeStampChecker.cs
- Positioning.cs
- HealthMonitoringSection.cs
- DifferencingCollection.cs
- FloaterParaClient.cs
- CheckBoxFlatAdapter.cs
- EntityDataSourceWrapper.cs
- ToolStripItemClickedEventArgs.cs