이 오류는 컴파일 오류를 발생시키지 않지만 그 이유는 무엇입니까? 행동에 반대C# .net 4.5 async delegate
public async void DoSomething(object arg){ ... }
Action<object> myAnonActionDelegate = DoSomething;
는 "DoSomething
는"유형 Func<object,Task>
의 서명을하지 말았어야? 사실 "DoSomething
"은 Func<object,Task>
대리인에게 할당 할 수 없습니다.
질문은 이유가 무엇입니까? 비동기 키워드 해제에 대한 나의 이해가 있습니까?
없음 그것은 IAsynchResult 또는 Task를 반환해야합니다. 어떤 것이지 모르지만이 메서드가 비동기 메서드임을 나타내는 무언가로 컴파일해야합니다. – Alwyn
알았습니다. 고마워. 존. 내 생각에 비동기가 자동으로 작업 내에서 반환 형식을 래핑 할 것이라고 생각하고 있다고 생각합니다. – Alwyn
@Alwyn,'async' 메소드는'IAsyncResult'를 리턴 할 수 없습니다. 항상'void','Task' 또는'Task'을 리턴해야합니다. –
svick