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
- TypeExtensions.cs
- EventMappingSettingsCollection.cs
- ModifyActivitiesPropertyDescriptor.cs
- ToolStripSystemRenderer.cs
- JavaScriptObjectDeserializer.cs
- AssemblyNameProxy.cs
- ImageBrush.cs
- ByteStorage.cs
- DetailsViewDeletedEventArgs.cs
- DSASignatureFormatter.cs
- TimerElapsedEvenArgs.cs
- ToolStripDropDown.cs
- FlowDocumentReader.cs
- XhtmlTextWriter.cs
- RunClient.cs
- HandlerMappingMemo.cs
- CharUnicodeInfo.cs
- XmlMtomReader.cs
- FormViewModeEventArgs.cs
- OrderByExpression.cs
- DetailsViewPageEventArgs.cs
- VisualBrush.cs
- TextMarkerSource.cs
- CLSCompliantAttribute.cs
- CodeParameterDeclarationExpression.cs
- StoreContentChangedEventArgs.cs
- EngineSiteSapi.cs
- FieldAccessException.cs
- OleAutBinder.cs
- EventWaitHandle.cs
- RunClient.cs
- DataSourceProvider.cs
- EdmEntityTypeAttribute.cs
- XPathLexer.cs
- ExpressionBindingCollection.cs
- HandleScope.cs
- UserControl.cs
- EncoderNLS.cs
- WebServiceEnumData.cs
- ForeignKeyConstraint.cs
- TextServicesHost.cs
- SafeArrayTypeMismatchException.cs
- XPathEmptyIterator.cs
- ScrollData.cs
- _ShellExpression.cs
- RecordsAffectedEventArgs.cs
- DesignerSerializationManager.cs
- IsolatedStorage.cs
- XhtmlConformanceSection.cs
- UnsafeMethods.cs
- PrintPageEvent.cs
- ErrorHandlerModule.cs
- DrawingAttributes.cs
- CompoundFileReference.cs
- ExpressionPrinter.cs
- DrawListViewItemEventArgs.cs
- SettingsPropertyValue.cs
- ClientProtocol.cs
- StylusTip.cs
- DataGridViewIntLinkedList.cs
- MgmtConfigurationRecord.cs
- formatstringdialog.cs
- LineServicesCallbacks.cs
- BitmapEncoder.cs
- EdmMember.cs
- EntryPointNotFoundException.cs
- FrameworkElementFactoryMarkupObject.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ToolTipService.cs
- RowUpdatingEventArgs.cs
- CompleteWizardStep.cs
- SkinBuilder.cs
- InputBuffer.cs
- ShaderRenderModeValidation.cs
- ElementFactory.cs
- HtmlUtf8RawTextWriter.cs
- SamlAction.cs
- WebAdminConfigurationHelper.cs
- StorageComplexPropertyMapping.cs
- Quaternion.cs
- XmlSchemaAnnotated.cs
- NameSpaceExtractor.cs
- SafeProcessHandle.cs
- Byte.cs
- AudioFileOut.cs
- LoadedOrUnloadedOperation.cs
- _ListenerResponseStream.cs
- MembershipPasswordException.cs
- AudioLevelUpdatedEventArgs.cs
- SizeChangedEventArgs.cs
- CodeGenHelper.cs
- SafeCryptoHandles.cs
- FigureHelper.cs
- _NegoStream.cs
- ToolboxComponentsCreatingEventArgs.cs
- SwitchLevelAttribute.cs
- PrefixHandle.cs
- SchemaTableColumn.cs
- DataRowView.cs
- MediaScriptCommandRoutedEventArgs.cs