Do you understand the purpose of command line; and why it's represented in array of strings, to your application?
It's done by historical reasons, because a string is a universal way to pass data. This is what it is, you cannot change it.
In practice "other types" means string using string (or strings) but trying to
parse it according some application schema.
Please see my article where I present an easy-to-use facility of this kind:
Enumeration-based Command Line Utility[
^].
Another alternative, also a CodeProject work, is referenced in my article.
—SA