2012-02-21 14 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

答えて

49

あなたが接近していたが、ちょうど括弧の前に<T>後のメソッド名が必要です。そこにジェネリックメソッドのジェネリック型パラメータリストが置かれています。メソッドが受け入れるジェネリック型のパラメータが宣言され、引数、戻り値、およびメソッド本体で使用できるようになります。

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