我试图将对象复制到Windows剪贴板并再次关闭。我的代码是这样的:剪贴板将对象复制到
复制到剪贴板:
Clipboard.Clear();
DataObject newObject = new DataObject(prompts);
newObject.SetData(myString);
Clipboard.SetDataObject(newObject);
凡prompts
是List<Data.Sources.PromptResult>
集合。
复制关闭剪贴板:
IDataObject dataObject = System.Windows.Forms.Clipboard.GetDataObject();
if (dataObject.GetDataPresent(typeof(List<Data.Sources.PromptResult>)))
{
Type type = typeof(List<Data.Sources.PromptResult>);
Object obj = dataObject.GetData(type);
return (List<Data.Sources.PromptResult>)dataObject.GetData(type);
}
的GetFormats()
显示格式列表是与GetDataPresent(List<Data.Sources.PromptResult>)
返回true,但如果我试图让物体出Clipboard
类与GetData(List<Data.Sources.PromptResult>)
我得到的回报空值。
有没有人有任何想法可能是错的?
我遇到了同样的问题,但我解决了不同的看法。我所要做的就是确保**我的对象**(子对象)的每个部分都是可序列化的类型。较少的代码。尝试[IsSerializable方法](http://www.codeproject.com/Articles/8102/Saving-and-obtaining-custom-objects-to-from-Window)!如果你的类不是可序列化的,那么这个异常描述了这个问题非常好。 – Bitterblue 2015-01-07 14:19:50