2011-01-18 5 views
1

C#でthisキーワードのこの使用法の意味何ですか:C#、Linqのこのキーワード?

public static ExcelRow Hide(this ExcelRow row) 
    { 
    return row.Hide(true); 
    } 

は、このLINQのですか?はいの場合、ExcelRow rowthis ExcelRow rowの違いは何ですか?

注:これはスペルのバグではなく、間にポイントやその他のアクセサーがありません。

答えて

6

これは、HideメソッドがExcelRowタイプのインスタンスで呼び出すことができるExtension Methodであることを示しています。

6

これは、extension methodを意味します。これは、メソッドが呼び出されるExcelRowのインスタンスを参照します。

1

上記の方法は、拡張方法(msdn.microsoft.com/en-us/library/bb383977.aspx)です。シグネチャの「このExcelRow行」部分は、メソッドがexcelRowオブジェクトを拡張することを意味します。したがって、ExcelRowのインスタンスで使用することができます。例:ExcelRow row =新しいExcelRow(); row.Hide();定義のExcelRow部分(staticキーワードの後ろ)は、拡張メソッドがExcelRowタイプのインスタンスを返すことを意味します。

関連する問題