F # không hỗ trợ bí danh các không gian tên - chỉ các mô-đun và loại. Vì vậy, để giải quyết xung đột giữa các hội đồng .NET, bạn sẽ, không may, cần phải xác định bí danh cho tất cả các loại bạn đang sử dụng.
Điều này có thể hơi dễ dàng hơn nhờ thực tế là các bí danh loại F # được xem như khai báo kiểu bình thường (bởi trình biên dịch F #, chứ không phải theo thời gian chạy). Điều này có nghĩa rằng, không giống như với C# using
từ khóa, bạn có thể xác định chúng trong một tập tin spearate:
// 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
Trong phần còn lại của ứng dụng của bạn, bây giờ bạn có thể sử dụng SysIO.File
. Bạn vẫn phải viết bí danh, nhưng ít nhất bạn không phải làm điều đó trong mỗi tập tin ...
Nguồn
2012-02-21 14:29:26
Đây là một giải pháp tốt, tôi chỉ cần một số ít các loại. –
"chỉ các mô-đun và loại": nó chỉ là các loại, mô-đun không thể được bí danh. sẽ vui vẻ sai. – citykid
vui vẻ không đúng. mô-đun có thể được đặt tên như sau: module ACMEStore = ACME.DB.Store (http://stackoverflow.com/questions/3918744/how-to-use-namespace-or-type-alias-abbreviation) – citykid