2015-10-16 20 views

Trả lời

7

Giải thích là trong chủ đề codeplex này.

Hi all,

Như chúng ta bước vào giai đoạn cuối cùng trong việc tìm kiếm dài của chúng tôi để đổi mới C# và kinh nghiệm Visual Basic, chúng tôi đã phải thực hiện một số quyết định khó khăn xung quanh bộ các tính năng ngôn ngữ mà sẽ làm cho nó vào phiên bản tiếp theo của các ngôn ngữ.

Các quyết định này chủ yếu dựa trên chi phí so với rủi ro. Một số tính năng bạn đã thấy trong bản xem trước vẫn cần rất nhiều công việc hạ lưu để được hỗ trợ trong IDE, trình sửa lỗi, v.v ... và cũng để có được chất lượng tuyệt vời trong trình biên dịch.

Như bạn có thể đã nghe tôi nói trước đây, các tính năng ngôn ngữ là một lựa chọn thứ cấp trong bản phát hành này. Mục tiêu chính là cung cấp một bản phát hành đầu tiên tuyệt vời của đề xuất giá trị Roslyn: sự hiểu biết sâu sắc về ngôn ngữ trong IDE và có sẵn cho tất cả mọi người thông qua một API mạnh mẽ và toàn diện. Để cung cấp điều này tốt, chúng ta cần phải quy mô lại sự thèm ăn của chúng tôi cho các tính năng ngôn ngữ một chút.

Các tính năng chúng tôi đang cắt giảm là:

  • constructors Primary trong C# (cùng với initializers trong cấu trúc) biểu
  • Tuyên bố trong C# thông số/Out trong VB

Cả hai đều được đặc trưng bởi có một lượng lớn công việc hạ lưu vẫn còn lại. Chúng cũng là những đặc điểm mà chúng ta thấy là tiềm năng bắt đầu của một câu chuyện lớn hơn nữa: các nhà xây dựng chính có thể lớn lên để trở thành một tính năng ghi đầy đủ, và các biểu thức khai báo sẽ tạo thành đá góc của các phương tiện kết hợp và phá hủy mẫu. Bây giờ, các tính năng đó sẽ được xem xét cùng nhau để phát hành sau này. Như một lớp lót bạc, sau đó chúng tôi sẽ thiết kế tính tổng thể liên tục này, chứ không phải trong các bước có thể buộc tay của chúng ta không đúng trong một giai đoạn sau.

Tất cả những gì đã nói, tôi rất buồn khi để những tính năng này đi, và tôi biết điều đó cũng phù hợp với nhiều bạn. Bạn đã cung cấp phản hồi có giá trị đáng kinh ngạc cho cả hai tính năng này và những bài học đó sẽ cung cấp trực tiếp cho công việc thiết kế tương lai của chúng tôi. Tôi không thể cảm ơn đủ cho sự tham gia đáng kinh ngạc này! Tôi cũng hy vọng bạn rất thích nhìn thấy nhiều "hoạt động bên trong" trong thời gian này, ngay cả khi nó dẫn đến sự thất vọng khi bạn xem mọi thứ đến và đi vào kế hoạch của chúng tôi. Sự tham gia của bạn tăng lên chắc chắn đã được thưởng cho chúng tôi, và - chúng tôi hy vọng! - giúp cải thiện chất lượng và kịp thời của các quyết định của chúng tôi.

Có một số tin tốt nữa: nội suy chuỗi (chưa được xem trước) hiện đang tìm cách thực hiện nó. Bạn sẽ thấy biểu tượng đó hiển thị đầu tiên trong C# (nơi chúng tôi đã tạo mẫu cho phương pháp tiếp cận của mình), và một chút sau trong VB.

Cảm ơn bạn lần nữa!

1

Lý do nằm ở đâu đó trong số https://github.com/dotnet/roslyn/issues.

Nhưng lý do chính là kết thúc và các quyết định được đưa vào C# 6 có thể giới hạn các tính năng được lập kế hoạch cho C# 7 trở lên.

+0

Bạn có thể chia sẻ liên kết tới vấn đề mà bạn đề cập không? – LxL

+0

Tôi không nhớ nó ở đâu. Nó có thể là http://roslyn.codeplex.com/ hoặc http: github.com/dotnet/Roslyn/issues/. –

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