2012-02-21 90 views
26

我有一個包含FrameworkElements的列表,我想創建一個名爲MoveToTop的擴展方法。所有這些都會接受一個屬於該列表的項目並將其移動到列表的開頭。我知道這可以在不使用擴展方法的情況下完成,但我希望它可以作爲擴展方法來實現。如何在泛型集合上創建擴展方法

我無法找出創建接受通用參數的擴展方法的語法。我知道這是不正確的,但如果有人能給我一個想法如何做到這一點,我將不勝感激。

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

有關通用方法的更多信息,請訪問http://msdn.microsoft.com/en-us/library/twcad0zb%28v=vs.100%29.aspx :) – radbyx 2012-02-22 12:07:33

回答

49

你已經接近了,只需要在括號之前的方法名之後的<T>。這是放置泛型方法的泛型類型參數列表的地方。它聲明瞭方法將接受的泛型類型參數,然後使它們可用於參數,返回值和方法體。

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