2010-10-28 34 views
8

Từ dahlbyk câu trả lời cho câu hỏi này: Map two lists into a dictionary in C#, Leppie viết nhận xét này:thông số variadic Generic

Pity có một nhu cầu cho một phương pháp Zip. Nếu chỉ có nhiều ngôn ngữ được gõ tĩnh hơn sẽ hỗ trợ các tham số generic variadic, Select sẽ xử lý điều này (giống như ánh xạ trong sơ đồ). - leppie

Điều đó có nghĩa là gì? (Tôi không biết Đề án) :)

Trả lời

7

Có nghĩa là, nếu C# sẽ hỗ trợ số động hoặc đối số (variadic, params) là tất cả các loại chung khác nhau, sẽ không cần một số Zip phương pháp, bởi vì nó có thể được bao phủ bởi Select.

Tôi không biết nếu điều này là đúng, chỉ cần giải thích câu ...

Edit:

Tôi chỉ nghĩ rằng anh ấy có nghĩa là một số biến của các loại generic (đó là trong thực tế chỉ hữu ích trong việc kết hợp với một số biến của tham số phương pháp), như thế này:

void Foo<params T>(params T[] args) 

Foo(true, 7, "hello"); 

chỉ cần suy nghĩ về nhiều tờ khai của Action<...>Func<...>.

Nhân tiện, khi bạn không chắc chắn về nhận xét, tại sao không đơn giản hỏi anh ấy?

+2

+1 Điều đó thật tuyệt, giống như trong [C++ 0x] (http://en.wikipedia.org/wiki/C%2B%2B0x#Variadic_templates). –

+1

nó là không đúng sự thật rằng nó chỉ hữu ích với các đối số liên quan. các loại của mình là một thông tin. Foo () sẽ cho phép chúng ta tạo một typelist, sử dụng typeof. Ví dụ, để tạo một lớp biến thể. –

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