Como chamar um método assíncrono de um getter ou sette

Qual seria a maneira mais elegante de chamar um método assíncrono de um getter ou setter em C #?

Aqui estão alguns pseudo-códigos para ajudar a me explica

async Task<IEnumerable> MyAsyncMethod()
{
    return await DoSomethingAsync();
}

public IEnumerable MyList
{
    get
    {
         //call MyAsyncMethod() here
    }
}

questionAnswers(8)

yourAnswerToTheQuestion