Как я могу вызвать Task & ValueTask внутри ValueTask?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу вызвать Task & ValueTask внутри ValueTask?

Сообщение Anonymous »

Я хочу вызвать следующий код:

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

public async ValueTask UserGivenClaim(AppUser user, Organization org, string claim)
{
var notify = new NotifyClaims(user, org);
await notify.SetReplyToTask(null, org);
await NotificationQueue.PushValueTask(notify);
}
В приведенном выше коде SetReplyToTask() возвращает Task, а PushValueTask() возвращает ValueTask. А с точки зрения производительности SetReplyToTask() в 99% случаев выполняет проверку if, которая является истинной, и возвращает результат. Таким образом, в 99% случаев он не вызывает внутри себя методы Task.
Объявление UserGivenClaim async позволяет мне вызывать await notify.SetReplyToTask(null, org); Будет ли это самый быстрый код? Боюсь, что я упустил преимущество ValueTask, сделав это.
Другая возможность — сделать notify.SetReplyToTask() ValueTask. Если в 99% случаев задача не вызывается, стоит ли мне использовать ValueTask?

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

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

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

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

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

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