Почему этот объект всегда возвращается из буфера обмена как ноль - PullRequest
2 голосов
/ 07 июля 2010

Я работаю с буфером обмена в .net со следующим кодом

   List<object> templateList = new List<object>();
  Clipboard.Clear();


Clipboard.SetDataObject(templateList);
   IDataObject dataObject = Clipboard.GetDataObject();
   var x = (List<object>)dataObject.GetData(typeof(List<object>));

Для приведенного выше кода x представляет собой пустой список объектов, как и следовало ожидать

, если я изменюкод для

 List<Template> templateList = new List<Template>();
 Clipboard.Clear();
 Clipboard.SetDataObject(templateList);
 IDataObject dataObject = Clipboard.GetDataObject();
 var x = (List<Template>)dataObject.GetData(typeof(List<Template>));

x теперь равен нулю

класс для Template является и общедоступным, и сериализуемым, а приложение работает на STAthread

Есть идеи?

1 Ответ

1 голос
/ 07 июля 2010

Есть ли в шаблоне какие-либо свойства объекта, которые не помечены как сериализуемые? Другими словами, хотя Template помечен как сериализуемый, вы пытались его сериализовать, чтобы подтвердить, что это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...