Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ContourSegment.cs
- XmlChildEnumerator.cs
- TimeoutException.cs
- LeaseManager.cs
- GroupBox.cs
- StateBag.cs
- ConnectionManagementElementCollection.cs
- DropShadowBitmapEffect.cs
- Brush.cs
- TextTrailingWordEllipsis.cs
- DocumentViewerAutomationPeer.cs
- FunctionCommandText.cs
- SiteMapHierarchicalDataSourceView.cs
- FixedSchema.cs
- TraceContext.cs
- ToolboxItemFilterAttribute.cs
- RequestCachePolicy.cs
- ErrorWebPart.cs
- NamedPipeChannelListener.cs
- EditorZone.cs
- Icon.cs
- RtfFormatStack.cs
- DatagridviewDisplayedBandsData.cs
- PropertyMetadata.cs
- updateconfighost.cs
- ValidationSummary.cs
- DefaultEventAttribute.cs
- RowToParametersTransformer.cs
- ArgumentsParser.cs
- SrgsRuleRef.cs
- DataControlLinkButton.cs
- TextModifierScope.cs
- RemoteCryptoTokenProvider.cs
- DataGridViewCellMouseEventArgs.cs
- WebPartTransformerCollection.cs
- SrgsElement.cs
- PreservationFileReader.cs
- EncoderReplacementFallback.cs
- ControlBindingsConverter.cs
- SByte.cs
- DictionaryMarkupSerializer.cs
- CodeDOMUtility.cs
- SectionUpdates.cs
- OperationDescription.cs
- PipelineModuleStepContainer.cs
- Deflater.cs
- XamlSerializationHelper.cs
- GiveFeedbackEvent.cs
- AuthenticationConfig.cs
- XmlSchemaValidator.cs
- DiscoveryReferences.cs
- Mapping.cs
- AspCompat.cs
- CodeDefaultValueExpression.cs
- DesignerView.cs
- GridViewColumnHeaderAutomationPeer.cs
- Version.cs
- TransferRequestHandler.cs
- AssemblyHash.cs
- ExceptionHelpers.cs
- DragStartedEventArgs.cs
- RadioButtonAutomationPeer.cs
- PasswordTextNavigator.cs
- XPathDocumentBuilder.cs
- SpecialTypeDataContract.cs
- ObjectParameterCollection.cs
- DataColumnCollection.cs
- SequentialUshortCollection.cs
- DataGridColumnCollection.cs
- CustomAttributeFormatException.cs
- EntityContainerEntitySet.cs
- ListViewTableRow.cs
- DataRowCollection.cs
- GuidConverter.cs
- _SafeNetHandles.cs
- WhereaboutsReader.cs
- DataGridViewDataErrorEventArgs.cs
- ResourceAssociationType.cs
- FactoryRecord.cs
- OracleConnectionFactory.cs
- CellNormalizer.cs
- CodeRemoveEventStatement.cs
- RadioButtonStandardAdapter.cs
- XmlSchemaSimpleType.cs
- HttpStreamXmlDictionaryWriter.cs
- Types.cs
- PasswordRecovery.cs
- InvalidateEvent.cs
- LicenseManager.cs
- PartitionedStream.cs
- InputElement.cs
- MeasureData.cs
- SqlConnectionManager.cs
- DataServiceClientException.cs
- RestHandlerFactory.cs
- XmlSchemaObject.cs
- ContractListAdapter.cs
- TimeSpan.cs
- validationstate.cs
- IdentityHolder.cs