我知道
我正在创建表示量纲单位的类,因为我正在进行一些物理方面的工作。显然我不能从原始类型继承,但我希望我的类的行为与原始类型完全相同——只是我想让它们以不同的类型出现。
所以我应该能够这样做:
=
运算符无法重载,但肯定有办法可以实现我的需求:我正在创建表示量纲单位的类,因为我正在进行一些物理方面的工作。显然我不能从原始类型继承,但我希望我的类的行为与原始类型完全相同——只是我想让它们以不同的类型出现。
所以我应该能够这样做:
Velocity ms = 0;
ms = 17.4;
ms += 9.8;
我不确定如何实现这个。我想我只需编写一些类,就像这样:
class Power
{
private Double Value { get; set; }
//operator overloads for +, -, /, *, =, etc
}
但显然我无法重载赋值运算符。有没有什么方法可以实现这种行为?
度量单位
功能?它知道标准(ISO)单位,如米、千克和米/秒,并且它也可以进行单位计算。 - oɔɯǝɹ[<Measure>] type m; [<Measure>] type s
,然后可以使用类似let a = 9.8<m> / 4.3<s>
的东西,得到val a : float<m/s> = 2.279069767
。 - Carson MyersMicrosoft.FSharp.Math.SI
中预定义。请参见:http://blogs.msdn.com/b/andrewkennedy/archive/2008/09/02/units-of-measure-in-f-part-two-unit-conversions.aspx - oɔɯǝɹ