Кэши преобразований метода->делегирования в исходном коде Blazor QuickGridC#

Место общения программистов C#
Ответить
Anonymous
 Кэши преобразований метода->делегирования в исходном коде Blazor QuickGrid

Сообщение Anonymous »

Из исходного кода Blazor QuickGrid:

Код: Выделить всё

// QuickGrid.razor
private void RenderColumnHeaders(RenderTreeBuilder __builder)
{
foreach (var col in _columns)
{

@col.HeaderContent

@if (col == _displayOptionsForColumn)
{
@col.ColumnOptions
}

}
}

// QuickGrid.razor.cs

// Caches of method->delegate conversions
private readonly RenderFragment _renderColumnHeaders;

public QuickGrid()
{
_renderColumnHeaders = RenderColumnHeaders;
}
Насколько я понимаю, метод RenderColumnHeaders в файле razor уже является делегатом RenderFragment. Затем я могу легко использовать его непосредственно в разметке Razor без каких-либо накладных расходов (чего, похоже, они пытаются избежать):

Код: Выделить всё

@{
RenderColumnHeaders(__builder);
}

@* or *@

@((RenderFragment)RenderColumnHeaders)
Какой тогда смысл в этих «Кэшах методов->делегировать преобразования»?
Исходный код

Подробнее здесь: https://stackoverflow.com/questions/792 ... ource-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»