Tại sao?
Vì tôi thích chỉ ra, nhóm thiết kế ngôn ngữ không phải cung cấp lý do cho việc không làm một tính năng. Thay vào đó, những người muốn các tính năng phải biện minh cho họ.
Nếu bạn đặt câu hỏi được nhắm mục tiêu nhiều hơn thay vì mơ hồ "tại sao?" bạn có thể hỏi:
Nếu tôi đưa tính năng này vào nhóm thiết kế C#, họ sẽ xác định những vấn đề gì với nó?
Không có yêu cầu trong ngôn ngữ C# mà lambdas được triển khai như các phương thức của một lớp.
Trước hết, chúng có thể là cây biểu thức, trong trường hợp nào, nó có ý nghĩa gì khi có thuộc tính ở đó? Và thứ hai, không có yêu cầu rằng lambda được triển khai làm phương thức của lớp đóng cửa do biên dịch tạo ra, có nghĩa là không có yêu cầu danh sách tham số thậm chí là thứ bạn có thể đặt siêu dữ liệu một cách hợp lý. Thuộc tính là một phần của siêu dữ liệu của chương trình và thường không nghĩ đến việc duyệt các loại do trình biên dịch tạo ra để tiêu thụ siêu dữ liệu của chúng như là một điều hợp lý để làm.
Việc triển khai biểu thức lambdas kỳ lạ nhưng hoàn toàn khả thi, chẳng hạn, sẽ tạo ra cây biểu thức luôn, và sau đó nếu nó không phải là một cây biểu thức lambda, hãy tạo ra một cuộc gọi đến Compile
ở đầu kia. Không có siêu dữ liệu, do đó không có nơi nào để đặt thuộc tính.
Điều đó sẽ rất lạ, nhưng ngôn ngữ C# đã được thiết kế cẩn thận sao cho các tính năng nhất định như lambdas không hạn chế trình biên dịch trình biên dịch đối với một triển khai cụ thể.
Đây có phải là một trong những thời điểm đó so với nỗ lực/hoàn vốn không?
Có.
Có ai đó nghĩ điều này mặc dù và nói, naah!?
Không phải với kiến thức của tôi.
Như tôi thường xuyên chỉ ra, để một tính năng được triển khai, nó phải là được nghĩ là. Theo hiểu biết của tôi, bạn là người đầu tiên nghĩ rằng một thuộc tính trên tham số lambda là một ý tưởng hay.Ý tưởng không được nghĩ đến không được thiết kế, triển khai, thử nghiệm, ghi chép hoặc vận chuyển.
Điều này không đơn giản không nhất quán?
Tôi cho là vậy.
Chỉ vì tò mò, tại sao bạn cần phải gán một tham số trên một phương thức ẩn danh? – Dan
Tôi cần phải (loại) chú thích một trong các tham số là một khối không được quản lý, không được quản lý, nhưng thực sự có thể là float [], float2 [], float4 [] v.v. Ở những nơi khác trong mã của tôi, chú thích kiểu này được sử dụng cho kiểm tra đơn vị và bán phá giá dữ liệu (theo định dạng có thể đọc được của con người). – Ani
Bạn có lẽ sẽ tốt hơn khi chỉ thực hiện một phương pháp cụ thể hơn là một phương thức ẩn danh. – Dan