Tôi là một anh chàng VB.Net. (vì tôi phải như vậy, bởi vì người ký tên vào tờ séc của tôi nói như vậy.) Tôi đã lớn lên trong Java và tôi thường không đấu tranh để đọc hoặc viết trong C# khi tôi có cơ hội. Tôi đã đi qua một số cú pháp ngày hôm nay mà tôi chưa bao giờ thấy, và tôi dường như không thể tìm ra.Trong C#, <T> Sau khi khai báo phương thức là gì?
Trong khai báo phương pháp sau, < T> đại diện cho điều gì?
static void Foo < T> (params T [] x)
Tôi đã thấy sử dụng kết hợp với tuyên bố bộ sưu tập chung và điều gì đó, nhưng tôi có thể không cho cuộc sống của tôi ra gì nó làm cho phương pháp này.
Trong trường hợp quan trọng, tôi gặp phải vấn đề này khi suy nghĩ về một số C# brain teasers. Lời trêu ghẹo thứ sáu chứa toàn bộ đoạn mã.
Cụ thể, nó xác định tên (hoặc tên) sử dụng cho các loại generic (s) trong phương pháp này. –
Sự hiểu biết của tôi là trong mã này, (params T [] x) có trách nhiệm khai báo rằng phương thức lấy bất kỳ số lượng đối số nào của kiểu T và lưu chúng trong một mảng được tham chiếu bởi x. Nếu điều đó đúng, thì < T > sau tên phương thức thêm vào khai báo là gì? – Drew
Có lẽ nó cho phép người gọi có nhiều chi tiết hơn trong việc mô tả loại biến được chuyển thành tham số. Tôi có thể gọi Foo với một dòng mà đọc Foo (myClassInstance, myClassInstance2) miễn là myClassInstance và myClassInstance2 có cùng loại không? – Drew