■No41781 (プリ太 さん) に返信
> public static void InitializeSelectable(this ISelectable self)
この構文は、C# 3.0 (C#.NET 2008) 以降の「拡張メソッド」構文ですね。
> の引数thisの部分で「型が必要です。」とエラーになります。
2002/2003/2005 を使っている、とか。
> #"this"の記述を削除すると違うエラーが発生します。
> このthisの記述の意味は何なのでしょうか?
下記の例を参照してみてください。
http://msdn.microsoft.com/ja-jp/library/bb311042.aspx
ここでは、
public static int WordCount(this String str)
という定義によって、
string s = "〜";
int i = s.WordCount();
というコードが書けるようになっています。
(string 型に WordCount メソッドがあるかのように振る舞われます)
もし、this が無い場合、上記は
// using CustomExtensions;
int i = StringExtension.WordCount(s);
と書き換える事ができます。