C# 将用户定义类型的对象放在剪贴板上并重试
我有一个班的学生。我想把学生“objStu”类的对象存储在剪贴板上C# 将用户定义类型的对象放在剪贴板上并重试,c#,clipboard,C#,Clipboard,我有一个班的学生。我想把学生“objStu”类的对象存储在剪贴板上 Class Student { string stuID; string Name; string email; } 在main方法中,我编写了一个代码: Clipboard.SetDataObject(objStu,false); 当我尝试检索对象时,如下所示: Student anotherStu = Clipboard.GetDataObject() as Student; 它正在返回null
Class Student
{
string stuID;
string Name;
string email;
}
在main方法中,我编写了一个代码:
Clipboard.SetDataObject(objStu,false);
当我尝试检索对象时,如下所示:
Student anotherStu = Clipboard.GetDataObject() as Student;
它正在返回null。请指导我如何实现它。使学生课堂成为可序列化的
[Serializable]
public class Student
{
public string stuID { get; set; }
public string Name { get; set; }
public string email { get; set; }
public void CopyToClipboard()
{
DataFormats.Format format =
DataFormats.GetFormat(typeof(Student).FullName);
//now copy to clipboard
IDataObject dataObj = new DataObject();
dataObj.SetData(format.Name, false, this);
Clipboard.SetDataObject(dataObj, false);
}
然后你试着:
Student objStu = new Student();
objStu.Name = "test";
objStu.CopyToClipboard();
Clipboard.SetDataObject(objStu, false);
Student anotherStu = GetFromClipboard();
下面是GetFromClipboard方法
protected static Student GetFromClipboard()
{
Student student = null;
IDataObject dataObj = Clipboard.GetDataObject();
string format = typeof(Student).FullName;
if (dataObj.GetDataPresent(format))
{
student = dataObj.GetData(format) as Student;
}
return student;
}
检查以了解更多信息请参阅此-