Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / CompMod / System / ComponentModel / DecimalConverter.cs / 1 / DecimalConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel { using Microsoft.Win32; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters; using System.Security.Permissions; ////// [HostProtection(SharedState = true)] public class DecimalConverter : BaseNumberConverter { ///Provides a type converter to convert ////// objects to and from various /// other representations. /// Determines whether this editor will attempt to convert hex (0x or #) strings /// internal override bool AllowHex { get { return false; } } ////// The Type this converter is targeting (e.g. Int16, UInt32, etc.) /// internal override Type TargetType { get { return typeof(Decimal); } } ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// 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(InstanceDescriptor) && value is Decimal) { object[] args = new object[] { Decimal.GetBits((Decimal)value) }; MemberInfo member = typeof(Decimal).GetConstructor(new Type[] {typeof(Int32[])}); Debug.Assert(member != null, "Could not convert decimal to member. Did someone change method name / signature and not update DecimalConverter?"); if (member != null) { return new InstanceDescriptor(member, args); } else { return null; } } return base.ConvertTo(context, culture, value, destinationType); } ////// Convert the given value to a string using the given radix /// internal override object FromString(string value, int radix) { return Convert.ToDecimal(value, CultureInfo.CurrentCulture); } ////// Convert the given value to a string using the given formatInfo /// internal override object FromString(string value, NumberFormatInfo formatInfo) { return Decimal.Parse(value, NumberStyles.Float, formatInfo); } ////// Convert the given value to a string using the given CultureInfo /// internal override object FromString(string value, CultureInfo culture){ return Decimal.Parse(value, culture); } ////// Convert the given value from a string using the given formatInfo /// internal override string ToString(object value, NumberFormatInfo formatInfo) { return ((Decimal)value).ToString("G", formatInfo); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel { using Microsoft.Win32; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters; using System.Security.Permissions; ////// [HostProtection(SharedState = true)] public class DecimalConverter : BaseNumberConverter { ///Provides a type converter to convert ////// objects to and from various /// other representations. /// Determines whether this editor will attempt to convert hex (0x or #) strings /// internal override bool AllowHex { get { return false; } } ////// The Type this converter is targeting (e.g. Int16, UInt32, etc.) /// internal override Type TargetType { get { return typeof(Decimal); } } ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// 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(InstanceDescriptor) && value is Decimal) { object[] args = new object[] { Decimal.GetBits((Decimal)value) }; MemberInfo member = typeof(Decimal).GetConstructor(new Type[] {typeof(Int32[])}); Debug.Assert(member != null, "Could not convert decimal to member. Did someone change method name / signature and not update DecimalConverter?"); if (member != null) { return new InstanceDescriptor(member, args); } else { return null; } } return base.ConvertTo(context, culture, value, destinationType); } ////// Convert the given value to a string using the given radix /// internal override object FromString(string value, int radix) { return Convert.ToDecimal(value, CultureInfo.CurrentCulture); } ////// Convert the given value to a string using the given formatInfo /// internal override object FromString(string value, NumberFormatInfo formatInfo) { return Decimal.Parse(value, NumberStyles.Float, formatInfo); } ////// Convert the given value to a string using the given CultureInfo /// internal override object FromString(string value, CultureInfo culture){ return Decimal.Parse(value, culture); } ////// Convert the given value from a string using the given formatInfo /// internal override string ToString(object value, NumberFormatInfo formatInfo) { return ((Decimal)value).ToString("G", formatInfo); } } } // 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
- RightsManagementEncryptionTransform.cs
- GlobalAclOperationRequirement.cs
- _ShellExpression.cs
- TagPrefixCollection.cs
- AppSettingsExpressionEditor.cs
- FocusWithinProperty.cs
- PrimitiveSchema.cs
- StorageRoot.cs
- EncodingDataItem.cs
- _OverlappedAsyncResult.cs
- PrinterResolution.cs
- ITreeGenerator.cs
- StorageConditionPropertyMapping.cs
- TextBoxDesigner.cs
- IFlowDocumentViewer.cs
- BamlStream.cs
- BindingContext.cs
- ConnectionProviderAttribute.cs
- ServiceOperationParameter.cs
- Converter.cs
- GridSplitterAutomationPeer.cs
- RawMouseInputReport.cs
- LogAppendAsyncResult.cs
- SerializationInfoEnumerator.cs
- TextBox.cs
- DelayedRegex.cs
- XmlLangPropertyAttribute.cs
- Encoder.cs
- CodeEventReferenceExpression.cs
- ReadOnlyMetadataCollection.cs
- NullableDecimalSumAggregationOperator.cs
- HttpDebugHandler.cs
- _SafeNetHandles.cs
- ContextMenuAutomationPeer.cs
- EnumUnknown.cs
- hebrewshape.cs
- TaskExceptionHolder.cs
- ExcCanonicalXml.cs
- PrintPreviewDialog.cs
- HtmlButton.cs
- CallbackException.cs
- CodeAttachEventStatement.cs
- ArrayWithOffset.cs
- SemanticKeyElement.cs
- CompiledELinqQueryState.cs
- InvokeHandlers.cs
- ErrorHandler.cs
- TypeDescriptorFilterService.cs
- LinqDataSourceStatusEventArgs.cs
- Win32.cs
- OracleConnectionStringBuilder.cs
- Base64Encoder.cs
- RuntimeConfig.cs
- RotateTransform.cs
- CreateUserWizardStep.cs
- NewArrayExpression.cs
- MsmqException.cs
- AccessViolationException.cs
- ControlPropertyNameConverter.cs
- TimersDescriptionAttribute.cs
- AppSettingsReader.cs
- BitArray.cs
- FirstMatchCodeGroup.cs
- DataGridItemCollection.cs
- ServiceModelReg.cs
- AttributeExtensions.cs
- IERequestCache.cs
- UniqueCodeIdentifierScope.cs
- SrgsGrammar.cs
- TransportOutputChannel.cs
- SocketException.cs
- NotificationContext.cs
- __Filters.cs
- WebBrowserUriTypeConverter.cs
- _SingleItemRequestCache.cs
- DataGridViewColumnTypeEditor.cs
- AsyncPostBackErrorEventArgs.cs
- RowType.cs
- Model3D.cs
- SoapCodeExporter.cs
- InvalidAsynchronousStateException.cs
- IWorkflowDebuggerService.cs
- ThemeInfoAttribute.cs
- CodeLinePragma.cs
- PerformanceCounterPermission.cs
- FileEnumerator.cs
- SqlDataRecord.cs
- Math.cs
- WindowsAuthenticationEventArgs.cs
- ConstNode.cs
- Item.cs
- StaticTextPointer.cs
- SrgsRulesCollection.cs
- RouteData.cs
- MenuAdapter.cs
- Ops.cs
- XsdDateTime.cs
- SocketPermission.cs
- TextShapeableCharacters.cs
- KeyNotFoundException.cs