Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Currency.cs / 1 / Currency.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
namespace System {
using System;
using System.Globalization;
using System.Runtime.CompilerServices;
[Serializable]
internal struct Currency
{
internal long m_value;
// Constructs a Currency from a Decimal value.
//
public Currency(Decimal value) {
m_value = Decimal.ToCurrency(value).m_value;
}
// Constructs a Currency from a long value without scaling. The
// ignored parameter exists only to distinguish this constructor
// from the constructor that takes a long. Used only in the System
// package, especially in Variant.
internal Currency(long value, int ignored) {
m_value = value;
}
// Creates a Currency from an OLE Automation Currency. This method
// applies no scaling to the Currency value, essentially doing a bitwise
// copy.
//
public static Currency FromOACurrency(long cy){
return new Currency(cy, 0);
}
//Creates an OLE Automation Currency from a Currency instance. This
// method applies no scaling to the Currency value, essentially doing
// a bitwise copy.
//
public long ToOACurrency() {
return m_value;
}
// Converts a Currency to a Decimal.
//
public static Decimal ToDecimal(Currency c)
{
Decimal result = new Decimal ();
FCallToDecimal (ref result, c);
return result;
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private static extern void FCallToDecimal(ref Decimal result,Currency c);
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
namespace System {
using System;
using System.Globalization;
using System.Runtime.CompilerServices;
[Serializable]
internal struct Currency
{
internal long m_value;
// Constructs a Currency from a Decimal value.
//
public Currency(Decimal value) {
m_value = Decimal.ToCurrency(value).m_value;
}
// Constructs a Currency from a long value without scaling. The
// ignored parameter exists only to distinguish this constructor
// from the constructor that takes a long. Used only in the System
// package, especially in Variant.
internal Currency(long value, int ignored) {
m_value = value;
}
// Creates a Currency from an OLE Automation Currency. This method
// applies no scaling to the Currency value, essentially doing a bitwise
// copy.
//
public static Currency FromOACurrency(long cy){
return new Currency(cy, 0);
}
//Creates an OLE Automation Currency from a Currency instance. This
// method applies no scaling to the Currency value, essentially doing
// a bitwise copy.
//
public long ToOACurrency() {
return m_value;
}
// Converts a Currency to a Decimal.
//
public static Decimal ToDecimal(Currency c)
{
Decimal result = new Decimal ();
FCallToDecimal (ref result, c);
return result;
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private static extern void FCallToDecimal(ref Decimal result,Currency c);
}
}
// 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
- ConfigurationStrings.cs
- UserControlBuildProvider.cs
- ImageListDesigner.cs
- TabPageDesigner.cs
- BinaryMessageEncoder.cs
- BackEase.cs
- InheritanceContextChangedEventManager.cs
- ReflectionServiceProvider.cs
- ZipIOModeEnforcingStream.cs
- StretchValidation.cs
- TimeZone.cs
- XMLSchema.cs
- SettingsAttributeDictionary.cs
- EditingCoordinator.cs
- GACIdentityPermission.cs
- CatalogUtil.cs
- CompilerError.cs
- DelegatingStream.cs
- KnownColorTable.cs
- RectangleConverter.cs
- MarshalDirectiveException.cs
- OutputCacheSettings.cs
- RuntimeConfig.cs
- CultureMapper.cs
- SetIterators.cs
- ProgressBar.cs
- ThreadPool.cs
- BitmapSourceSafeMILHandle.cs
- BindingMAnagerBase.cs
- PreviewPrintController.cs
- RuntimeHelpers.cs
- DrawingContextFlattener.cs
- StorageSetMapping.cs
- Compress.cs
- ClosureBinding.cs
- OutputCacheModule.cs
- TypeContext.cs
- EmbeddedMailObjectsCollection.cs
- ContextConfiguration.cs
- JournalEntry.cs
- RedistVersionInfo.cs
- EditorZone.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- CodeTypeReferenceCollection.cs
- EmptyCollection.cs
- MULTI_QI.cs
- ToolStripItemImageRenderEventArgs.cs
- sqlcontext.cs
- ScriptingJsonSerializationSection.cs
- CheckPair.cs
- TableLayoutSettingsTypeConverter.cs
- Stackframe.cs
- HttpPostServerProtocol.cs
- _SafeNetHandles.cs
- UInt64.cs
- srgsitem.cs
- PrtCap_Public_Simple.cs
- OrderPreservingMergeHelper.cs
- ContextStaticAttribute.cs
- PropertyDescriptor.cs
- XmlSortKey.cs
- MouseActionValueSerializer.cs
- querybuilder.cs
- MeshGeometry3D.cs
- webbrowsersite.cs
- DropShadowBitmapEffect.cs
- SqlFacetAttribute.cs
- AnimationException.cs
- ValueUnavailableException.cs
- DataSourceSerializationException.cs
- DataSourceProvider.cs
- WebEventCodes.cs
- AspCompat.cs
- FieldTemplateUserControl.cs
- Int16KeyFrameCollection.cs
- rsa.cs
- TouchesCapturedWithinProperty.cs
- TypeUtil.cs
- MouseButton.cs
- EmbossBitmapEffect.cs
- DbDataAdapter.cs
- OpenTypeLayout.cs
- DeviceFiltersSection.cs
- UnicastIPAddressInformationCollection.cs
- FontSource.cs
- Types.cs
- SystemThemeKey.cs
- ListViewContainer.cs
- CompositeFontInfo.cs
- SelfIssuedSamlTokenFactory.cs
- TemplateInstanceAttribute.cs
- ListSurrogate.cs
- remotingproxy.cs
- ToolStripDropTargetManager.cs
- Context.cs
- PropertyMappingExceptionEventArgs.cs
- MonikerBuilder.cs
- CodeLinePragma.cs
- CodeDomExtensionMethods.cs
- SQLInt16.cs