Using your code example to map the argument list to a dictionary object, the line:
string dms = map["dms"];
generates error CS0266, "Cannot implicitly convert type 'object' to 'string'. ...". Casting the map object removes the error:
string dms = (string)map["dms"];
So do I have to properly cast the dictionary object on every access based on the type? Your example does not.
Thanks.