Вы не должны указывать типы CLR в качестве параметров. Параметр GetData - это всего лишь идентификатор, который может быть чем угодно, но есть некоторые pre-defined formats, которые используют многие программы.
Что вы, вероятно, захотите сделать, это использовать DataFormats.Text для извлечения данных в текстовой форме (т. Е. Строки). Обратите внимание, что это работает только в том случае, если источник содержимого буфера обмена фактически предоставил данные в этом формате, но в большинстве случаев вы должны быть в безопасности.
И, так как текст такой общий формат, есть даже удобный метод, чтобы получить его в этом формате, называемом Clipboard.GetText()
EDIT: Строка [] вы получите обратно, когда вы звоните GetFormats просто массив строк перечисляя все доступные форматы. Это не фактические данные буфера обмена, это просто говорит вам, какой формат вы можете получить, когда вы делаете obj.GetData()
. Посмотрите на этот массив в отладчике или распечатайте его в foreach, чтобы увидеть, есть ли какой-либо формат, похожий на массив.
Должно работать и работает на моей машине. Опубликуйте фрагмент, который показывает, как вы помещаете его в буфер обмена. –