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