<Result>
는 비동기 처리를 위해 내부적인 존재가 되어있기 때문에, await에 따른 코드를 Task에 맡김으로써 비동기 기능을 간편하게 구현할 수 있다.<Result>
타입은 Result 타입의 값을 반환할 수 있다. Task 타입의 생성자가 Action 델리게이트를 인자로 받았다면, Task <Result>
타입은 Func 델리게이트를 인자로 받는다.<Result>
만 허용한다. delegate void EventHandler(object sender, EventArgs e)
📝 샘플 코드
static async Task AsyncFileRead(string filePath)
{
string fileTxt = await ReadAllTextAsync(filePath);
Console.WriteLine(fileTxt);
}
static Task<string> ReadAllTextAsync(string filePath)
{
return Task.Factory.StartNew(()=>
{
return File.ReadAllText(filePath);
});
}