2012-02-21 25 views
26

Tôi có một danh sách có chứa FrameworkElements và tôi muốn tạo một phương thức mở rộng có tên là MoveToTop. Tất cả điều này sẽ làm là chấp nhận một mục là một phần của danh sách đó và di chuyển nó đến đầu danh sách. Tôi biết điều này có thể được thực hiện mà không cần sử dụng một phương pháp mở rộng, nhưng tôi muốn nó được thực hiện như một phương pháp mở rộng.Cách tạo phương thức mở rộng trên bộ sưu tập chung

Tôi gặp sự cố khi cố gắng tìm ra cú pháp để tạo phương thức tiện ích chấp nhận thông số chung. Tôi biết điều này là không đúng, nhưng nếu ai đó có thể cho tôi một ý tưởng làm thế nào để thực hiện điều này, tôi sẽ đánh giá cao nó.

public static class Extensions 
{ 
    public static void MoveToTop(this ICollection<T> sequence) 
    { 
     //logic for moving the item goes here. 
    } 
} 
+0

Thông tin thêm về phương pháp chung tại đây http://msdn.microsoft.com/en-us/library/twcad0zb%28v=vs.100%29.aspx :) – radbyx

Trả lời

49

Bạn đang ở rất gần, chỉ cần <T> sau tên phương pháp trước ngoặc. Đó là nơi mà danh sách tham số kiểu generic cho các phương thức generic được đặt. Nó khai báo các tham số kiểu chung mà phương thức sẽ chấp nhận, sau đó làm cho chúng có sẵn để được sử dụng trong các đối số, các giá trị trả về và phần thân phương thức.

public static class Extensions 
{ 
    public static void MoveToTop<T>(this ICollection<T> sequence) 
    { 
     //logic for moving the item goes here. 
    } 
} 
Các vấn đề liên quan