Tôi đang cố gắng để tạo ra phương pháp khuyến nông khác nhau cho một loại generic ràng buộc để các tham số kiểu generic cụ trong F #, nhưng ngôn ngữ dường như không được cho phép tôi:phương pháp mở rộng với nhiều loại generic cụ
Những gì tôi muốn làm là một cái gì đó như sau:
type IEnumerable<int> with
member this.foo =
this.ToString()
Tuy nhiên, nó mang lại cho tôi những lỗi biên dịch (gạch chân các từ khóa int
):
Số nhận dạng không mong muốn trong tên loại. Toán tử infix dự kiến, biểu tượng trích dẫn hoặc mã thông báo khác.
Sau đây không làm việc, mặc dù nó không đặc biệt ràng buộc tham số kiểu chung để int
, như tôi muốn:
type IEnumerable<'a> with
member this.foo =
this.ToString()
Có cách nào để đạt được mục tiêu này trong F # - Tôi là có lẽ chỉ sử dụng cú pháp sai? Nếu không, tôi sẽ đánh giá cao nếu có ai đó có thể đề xuất một cách giải quyết khác, có lẽ sử dụng loại ràng buộc ở đâu đó.
Dường như bạn thực sự là chính xác. Dù sao cũng cảm ơn bạn. – Noldorin
Tính năng này được theo dõi bởi một gợi ý trong cơ sở dữ liệu lỗi F # nội bộ "4548: Hỗ trợ các phương pháp mở rộng cho các loại instantiations cụ thể" nhưng không chắc sẽ được thực hiện cắt cho bản phát hành VS2010. – Brian