Что я должен передать InvokeAsyn c при использовании EventCallback в Blazor? - PullRequest
1 голос
/ 28 апреля 2020

При использовании InvokeAsync в EventCallback (без какого-либо типа, т. Е. Ничего не возвращает) ему все еще нужен аргумент для вызова ir.

enter image description here

Что мне там пройти? Похоже, я могу передать все, что не будет иметь никакого значения, но я не уверен в этом.

У этого также есть хорошее объяснение этого аргумента

arg: аргумент.

1 Ответ

0 голосов
/ 28 апреля 2020

Если у вас есть модель, вы можете передать ее или любое другое свойство, которое вы используете в качестве модели. Если нет, вы можете попробовать передать this. Он не будет ничего выполнять в плане исполнения, но успокоит компилятор и ваш код будет работать. Документы MS утверждают, что вы должны «предпочитать строго типизированные обратные вызовы событий», однако иногда это просто не имеет смысла, и вы в конечном итоге здесь.

Одна мысль, которая у меня возникла по этому вопросу в связи с идеей уменьшения побочных эффектов, заключается в том, что, возможно, нам следует использовать строго типизированный EventCallBack<bool>, чтобы выбросить бул, который может быть захвачен в прилагаемом методе и использован проверить, что то или иное было полным, правда, и т. д. c. Версия со слабым типом по сути является «пустым» возвратом метода, который является запахом кода для побочных эффектов. Я до сих пор не знаю точно, где я приземляюсь по этому вопросу, и это всего лишь мои мысли, взять их с солью.

...