How to recognize a C# class as an instance of ArrayOf
===

apologies if this a naive question. I have written a "universal" C# Web service client: it works by examining the WSDL of any Web service, and generating a Windows Forms UI that allows you to submit requests to the Web service and display responses.

It generates the UI as follows: first, it dynamically generates a compiled assembly (using ServiceDescriptionImporter and CodeCompiler) from the Web service's WSDL, and then it introspects on the SoapHttpClientProtocol client generated by this process.

For each Web service method, the UI to display the input parameter fields is generated by reflecting on the parameter types. Essentially, I have to recognize each type and decide how best to display it (so a String parameter is displayed as a textbox, a Boolean as a checkbox, and so on).

The types I'm having difficulty recognizing are types such as ArrayOfKeyValuestringstringKeyValueOfstringstring. I could simply parse the name of types ( along the lines of if (name begins with "ArrayOf")), but I'm sure there must be a better way to recognize these types as being arrays in some way.

If anyone can suggest how to do this, I'd be most grateful! Thanks, Martin
