2011-01-18 5 views
1

Каков смысл этого использования в this ключевого слова в C#:Это ключевое слово в C#, Linq?

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

Является ли это Linq? Если да, в чем разница между ExcelRow row и this ExcelRow row?

Примечание: это не орфографическая ошибка, между ними нет точки или другого доступа.

ответ

6

В этом конкретном контексте это означает, что метод Hide представляет собой Extension Method, который может быть вызван в экземплярах типа ExcelRow.

6

Это означает, что это extension method. Это относится к экземпляру ExcelRow, для которого вызывается метод.

1

Метод, который у вас есть, - это метод расширения (msdn.microsoft.com/en-us/library/bb383977.aspx). «Эта строка в строке ExcelRow» означает, что метод расширяет объект excelRow. Поэтому вы можете использовать его на экземпляре ExcelRow. Например: ExcelRow row = new ExcelRow(); row.Hide(); Часть определения ExcelRow (после ключевого слова static) просто означает, что ваш метод расширения возвращает экземпляр ExcelRow Type

Смежные вопросы