Como posso prefixar corretamente uma palavra com “a” e “an”?

Eu tenho um aplicativo .NET onde, dado um substantivo, quero prefixar corretamente essa palavra com "a" ou "an". Como eu faria isso? Antes de pensar, a resposta é simplesmente verificar se a primeira letra é uma vogal, considere frases como: um erro honesto um carro