2017-06-21 20 views
7

Trong F #, các tham số của hàm tạo được lưu tự động dưới dạng các trường không thể thay đổi trong lớp mà không cần phải viết khai báo trường hoặc sao chép tham số hàm tạo vào trường trong hàm tạo.Có cách nào để nhận các hàm tạo-tham số-F-tự động-không thay đổi-thành viên của F # trong C# không?

Có cách nào để bắt chước chức năng này trong C# không? Có lý do tại sao một phiên bản tương lai của C# không thể có tính năng này (tức là có một số hạn chế cơ bản của ngôn ngữ hiện có xung đột với tính năng này) không?

Trả lời

8

Tương đương C# sẽ là records. Đây là những hiện đang dành cho C# 8, nhưng không có bảo đảm (đặc biệt là khi họ đã được đề xuất cho C# 6 & 7 quá và đã bị trì hoãn trong cả hai trường hợp).

+2

Tôi nghĩ rằng một tính năng gần hơn sẽ là [Nhà xây dựng chính] (http://odetocode.com/blogs/scott/archive/2014/08/14/c-6-0-features-part-ii-primary-constructors .aspx). –

+1

@ScottWhitlock, sự hiểu biết của tôi là các bản ghi sẽ là các lớp và cấu trúc với cú pháp hàm dựng chính, cùng với một số tính năng hạ thấp để thêm ví dụ như chức năng bình đẳng và tương tự. Vì vậy, tôi nghĩ rằng hai hiện nay được kết hợp thành một tính năng. Tôi có thể sai mặc dù. –

Các vấn đề liên quan