You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
63
mcs/class/referencesource/mscorlib/system/currency.cs
Normal file
63
mcs/class/referencesource/mscorlib/system/currency.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
// ==++==
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// ==--==
|
||||
namespace System {
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.Versioning;
|
||||
|
||||
[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.
|
||||
//
|
||||
[System.Security.SecuritySafeCritical] // auto-generated
|
||||
public static Decimal ToDecimal(Currency c)
|
||||
{
|
||||
Decimal result = new Decimal ();
|
||||
FCallToDecimal (ref result, c);
|
||||
return result;
|
||||
}
|
||||
|
||||
[System.Security.SecurityCritical] // auto-generated
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
[MethodImplAttribute(MethodImplOptions.InternalCall)]
|
||||
private static extern void FCallToDecimal(ref Decimal result,Currency c);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user