在2011年的Build Keynote和演示中,他们总是谈论C++,C#,Visual Basic和JavaScript。我是否可以使用F#构建Metro样式的应用程序?或者可以说如果它适用于C#,那么它也适用于F#吗?
在2011年的Build Keynote和演示中,他们总是谈论C++,C#,Visual Basic和JavaScript。我是否可以使用F#构建Metro样式的应用程序?或者可以说如果它适用于C#,那么它也适用于F#吗?
如果它能在 C# 中工作,那么它也应该能在 F# 中工作,对吗?
是的,这就是它应该运作的方式。除了 JavaScript 和 C/C++ 之外,任何符合 CLS 并运行在 CLR 上的语言都可以访问 WinRT API。
不幸的是,在 VS 2011 Express 版本中,你没有工具支持,但我想这将逐渐添加到其他版本或者逐步完善:
我曾有同样的问题并创建了一个博客:使用F#创建Metro应用程序(非)
有一些问题:
您将收到一个构建警告,指出无法引用项目,尽管Visual Studio仍然允许您添加它。
您必须删除F#项目中所有DLL的引用,包括FSharp.Core。
我将我的股票图表库从.NET3.5-4.0移植到了可移植库,它在使用C# Metro应用程序和一些我的Metro UI桥接时表现得非常好。 我相信我可以在许多方面使用F#来制作Metro应用程序。
IIterable<T>
WinRT接口的类型,但在运行时CLR将其映射为IEnumerable<T>
。因此需要编译器支持。 - Pavel Minaev