It would be very helpful to have a method to retrieve the names of the arguments in a given message. This allows for creating the Map of arguments and values more easily. It also allows for creating reusable components that may not know in advance what the argument names are.
It looks like we have this at least in progress.
ICU4J MessageFormat has getFormatArgumentNames() and getFormatByArgumentName() but I am surprised to see that they are @internal. I will look into this.
ICU4C MessageFormat has getFormatNames() and getFormat(name) which are @stable ICU 4.0.
ICU 4.8 will add the MessagePattern class which provides access to all of the syntax elements in a MessageFormat, including the argument names.
I just proposed the Java API.
Mark, please review the now-public Java API. C++ did not need any changes, see comments above.
Milestone 4.8RC deleted