Tôi muốn viết những phương pháp sau đâyLàm thế nào để thực hiện một phương pháp chung chung mà phải mất một kiểu generic
private void Foo<T, TItem>(T<TItem> param1)
đâu T phải là một kiểu chung chung mà sẽ đưa TItem như thông tin tổng quát của nó.
Gọi dụ sẽ như thế nào:
private void Main()
{
List<int> ints = new List<int>();
Foo<List, int>(ints);
}
Edit: Trong trường hợp của tôi, tôi sẽ chỉ cần cho bộ sưu tập. Trường hợp sử dụng thực tế là tôi muốn viết một phương thức bổ sung một số thứ vào ICollection đáng buồn là ICollection
không có phương thức .Add
chỉ có ICollection<T>
.
tôi không thể thay đổi phương pháp để:
private Foo<T>(ICollection<T>)
từ với mà tôi đang làm mất thông tin gì gõ danh sách thực tế là, đó là điều quan trọng với tôi hơn những gì gõ các mục trong danh sách.
để ý tưởng trên được sinh ra, ý tưởng này không hiệu quả.
Tôi không nghĩ rằng có thể cho rằng 'List' luôn hy vọng một tham số chung. – MutantNinjaCodeMonkey
Tôi không nghĩ rằng bạn có thể làm cho hạn chế đó. Điều gì về việc có T là một loại chung mà thực hiện IInterface nơi T xuất phát từ TItem? –
Tôi không thực sự hiểu làm thế nào 'Foo' sẽ yêu cầu' T' và 'TItem' có liên quan theo cách được mô tả; bạn có thể đưa ra một ví dụ cụ thể hơn không? – Codor