Изменение поведения Blazor при проверке измененных параметровC#

Место общения программистов C#
Ответить
Anonymous
 Изменение поведения Blazor при проверке измененных параметров

Сообщение Anonymous »

В предыдущем вопросе: Группа типов параметров, которые Blazor явно проверяет, объясняется, какие типы Blazor будут обнаруживать различия и какие типы будут считаться измененными:

Если StateHasChanged вызывается в родительском компоненте, платформа Blazor
повторно отображает дочерние компоненты, если их параметры могли быть
изменены:

[*]Для группа типов параметров, которые Blazor явно проверяет, Blazor повторно отображает дочерний компонент, если обнаруживает, что какой-либо из параметров
изменился.
[*]Для непроверенных типов параметров Blazor повторно отображает дочерний компонент независимо от того, изменились параметры или нет. Дочернее
содержимое попадает в эту категорию типов параметров, поскольку дочернее
содержимое имеет тип RenderFragment, который является делегатом, ссылающимся на
другие изменяемые объекты.


Однако мне бы хотелось иметь возможность контролировать поведение, чтобы я мог явно проверять больше типов, которые я могу контролировать. Насколько я могу судить, код, который фактически выполняет проверку внутри Blazor, является внутренним и поэтому не поддается изменению. Однако, используя пользовательский компонент, похоже, мы могли бы выполнить второй проход по всем параметрам в SetParametersAsync и вернуться раньше, если нет никаких изменений в соответствии с нашей собственной логикой обнаружения изменений.
Существуют ли примеры кода, реализующего такое поведение? Как добиться приемлемой производительности, если мы используем отражение для проверки всех значений параметров?

Подробнее здесь: https://stackoverflow.com/questions/787 ... parameters
Ответить

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

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

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

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

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