0
나는 async
및 await
이라는 개념이 새로 도입되었습니다. 지금 나는 이런 식으로 뭔가있어 : 비동기 메서드의 일부를 람다로 리팩토링
public async void DoSomething()
{
using (var obj = new SomeClass())
{
await obj.SomeAction();
}
Done = true;
}
그러나 obj
개체의 생성 및 관리와 같은
public async void DoSomething()
{
Manager.Execute(obj =>
{
await obj.SomeAction();
});
Done = true;
}
그러나 위의 코드는 컴파일되지 않습니다. 그것은 여기에 또는 거기에 async
또는 await
키워드가 반드시 부족합니다. 나는 또한 Execute()
방법을 쓰는 방법을 모른다. 도울 수 있니?
당신은'async void'를 피해야합니다. 호출자가 완료 시점을 알 수 없으며, 예외 처리 의미가 어렵거나, 단위 테스트 등에 사용할 수 없습니다. –