-
Notifications
You must be signed in to change notification settings - Fork 13
Closed
Description
This will not compile:
delegate void Foo();
void Call(Foo f) { f(); }
void TestCall()
{
Call(() => { return true; } ); // CS8030 Anonymous function converted to a void returning delegate cannot return a value
}
but this will:
delegate Task FooAsync();
Task CallAsync(FooAsync f) { return f(); }
void TestCallAsync()
{
CallAsync(() => { return Task.FromResult(true); });
}
FWIW this does throw an error:
delegate Task FooAsync();
Task CallAsync(FooAsync f) { return f(); }
void TestCallAsync()
{
CallAsync(async () => { await Task.Yield(); return true; }); //CS8031 Async lambda expression converted to a 'Task' returning delegate cannot return a value. Did you intend to return 'Task<T>'?
}
Metadata
Metadata
Assignees
Labels
No labels