F # не поддерживает псевдоним пространств имен - только модули и типы.Таким образом, чтобы разрешить конфликты между сборками .NET, вам, к сожалению, потребуется определить псевдонимы для всех типов, которые вы используете.
Это может быть немного проще благодаря тому, что псевдонимы типа F # просматриваютсякак обычные объявления типов (компилятором F #, а не средой выполнения).Это означает, что, в отличие от ключевого слова C # using
, вы можете определить их в отдельном файле:
// Aliases.fs
namespace SysIO
// Open the 'System' namespace to get a bit shorter syntax
// ('type File = File' is interpreted as discriminated union)
open System
type File = IO.File
type Directory = IO.Directory
В остальной части вашего приложения теперь вы можете использовать SysIO.File
.Вам все еще нужно написать псевдонимы, но, по крайней мере, вам не нужно делать это в каждом файле ...