Are there any good ways to define interfaces/class hierarchies in a non language specific fashion and then generate corresponding source code in specified languages? In particular, I need to target both Java and C# for a fairly comprehensive API I am creating. I recall at one point seeing a post here on SF where an answer mentioned a programming language that 'compiled' to other languages-- but I have not been able to find the post. That language may be a solution for what I'm trying to do.
Have you considered UML? It's easy to find code-generators from UML for lots of different languages (Eg. this one can generate C#, Java and VB.NET code), but you might want to carefully evaluate if it's the right choice for you. As a standard, it has come in for substantial criticism over the years.