You are not supposed to put the CLR types as parameters. The parameter to GetData is just an identifier that can be anything, but there are some pre-defined formats which many programs use.
What you probably want to do is use DataFormats.Text to retrieve the data in text form (i.e. a string). Note that this only works if the source of the clipboard contents actually provided data in this format, but most do so you should be safe.
And, since text is such a common format, there's even a convenience method to retrieve it in that format called Clipboard.GetText()
EDIT: The string[] you get back when you call GetFormats is just an array of strings listing all the available formats. It's not the actual clipboard data, it just tells you which format you can get it in when you do obj.GetData()
. Look at that array in the debugger or print it in a foreach to see if there's any format that is array-like.