Comment puis-je préfixer correctement un mot avec «a» et «an»?

J'ai une application .NET où, étant donné un nom, je veux qu'il préfixe correctement ce mot avec "a" ou "an". Comment pourrais-je faire ça? Avant de penser que la réponse est simplement de vérifier si la première lettre est une voyelle, considérez des phrases comme: une erreur honnête une voiture...