我希望能够做这样的事情

var m1 = new UnitOfMeasureQuantityPair(123.00, UnitOfMeasure.Pounds);
var m2 = new UnitOfMeasureQuantityPair(123.00, UnitOfMeasure.Liters);

m1.ToKilograms();
m2.ToPounds(new Density(7.0, DensityType.PoundsPerGallon);

如果还没有这样的东西,有人有兴趣将其作为操作系统项目吗?

有帮助吗?

解决方案

查看 测量单位转换库 关于代码项目。

其他提示

实际上,我们在我工作的地方建造了一个内部设施。不幸的是,它不向公众开放。

这实际上是一个很棒的项目,而且做起来并不难。如果您打算自己做某事,我建议您阅读 数量, 方面单元 (基本单位).

这些帮助我们清楚地理解问题的领域,并对库的设计有很大帮助。

第10章。数量原型模式 本书的 企业模式和 MDA:使用原型模式和 UML 构建更好的软件 吉姆·阿洛(Jim Arlow)和伊拉·诺斯塔特(Ila Neustadt)撰写了一个非常有用的讨论,您可以用作指导的一些一般模式。

另请参阅最新的 F# 版本 - 它具有静态测量域/维度分析。

有一篇(旧)文章关于 代码项目. 。我之前在生产环境中使用过它并且效果很好。我们遇到了一些小问题(性能等),我已经解决了。我把所有这些都放在你可以找到的图书馆里 这里.

免责声明: 我是这个项目的维护者,所以这可能会被认为是一个无耻的插件。然而,图书馆是免费的(就像啤酒和演讲一样)。

它包括 SI 单位,但也允许创建新单位和转换。

例如,您可以创建一个单位“XP”(经验点)。然后你可以注册一个到“m”的转换(米,没有意义,但你可以做到)。您还可以创建诸如 3 XP/分钟(每分钟 3 经验点)的金额。我相信它提供了不错的默认值,同时允许灵活性。

Unix 单位 恕我直言,很聪明;来源必须在网络上的某个地方。
(在“错误”下,原始文档说“不要将您的财务计划建立在货币兑换的基础上”。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top