Ответ 1
Вы можете добавить ??
Operator, поэтому, если ?.
возвращает нулевую задачу, используйте CompletedTask.
await (this.MyObject?.MyMethod() ?? Task.CompletedTask)
Я бы ожидал, что вызов "MyMethod" просто не будет выполнен, если "MyObject" имеет значение null.
Это правда. оператор ?.
возвращает нулевую задачу вместо вызова MyMethod
. исключение нулевой ссылки сделано потому, что вы не можете ждать нулевой задачи. Задача должна быть инициализирована.