Дождаться функции ожиданияC#

Место общения программистов C#
Ответить
Anonymous
 Дождаться функции ожидания

Сообщение Anonymous »


Я пытаюсь использовать функцию async/await, но с другой строкой выполнения, и мне хотелось бы знать, возможно ли что-то подобное.

У меня есть следующий код:

Пример публичного класса { публичная недействительность DoSomething() { Console.WriteLine("Начало DoSomething:"); Сделать больше(); Console.WriteLine("DoSomething End:"); } публичный асинхронный недействительный DoMore() { Console.WriteLine("Начать DoMore:"); await Task.Run(() => Thread.Sleep(1000)); Console.WriteLine("DoMore End:"); } } Когда я вызову DoSomething, я получу:

Начало DoSomething: DoMore Начало: Сделайте что-нибудь, закончите: Конец DoMore: Я хочу, чтобы поток, выполняющий DoSomething, неблокирующим способом ждал завершения DoMore, а затем продолжал выполнение DoSomething (что-то вроде использования await при вызове DoMore). Результат должен быть следующим:

Начало DoSomething: DoMore Начало: Конец DoMore: Сделайте что-нибудь, закончите: Я могу использовать следующий код:

Пример публичного класса { общественный асинхронный недействительный DoSomething() { Console.WriteLine("Начало DoSomething:"); await Task.Run(() => DoMore()); Console.WriteLine("DoSomething End:"); } публичный асинхронный недействительный DoMore() { Console.WriteLine("Начать DoMore:"); await Task.Run(() => Thread.Sleep(1000)); Console.WriteLine("DoMore End:"); } } но для DoMore используется другой поток, который мне не нужен.
Ответить

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

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

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

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

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