Итак, я пытаюсь скопировать и вставить объект, и у меня возникают проблемы с его получением Я искал темы, но все еще не могу заставить его работать. Вот код:
В одном решении в Visual Studio у меня есть класс:
namespace test4
{
[Serializable]
public class copypaste
{
public string test = "a";
}
}
и копия части кода:
private void btn1_Click(object sender, EventArgs e)
{
var copy_obj = new copypaste();
DataObject d = new DataObject(copy_obj);
Clipboard.SetDataObject(d);
}
И в другом решении у меня есть:
namespace test4
{
[Serializable]
public class copypaste
{
public string test = "a";
}
}
и часть кода вставки:
private void btnTest_Click(object sender, EventArgs e)
{
var d = Clipboard.GetDataObject();
if (d.GetDataPresent("test4.copypaste"))
{
var o = d.GetData("test4.copypaste");
Debug.WriteLine( ( (copypaste)o ).test );
}
}
Тем не менее, я получаю следующую ошибку в последней строке:
'System.InvalidCastException:' Невозможно привести объект типа 'System.IO.MemoryStream' к типу 'test4.copypaste'. '
Я рассмотрел другие вопросы, в которых предлагается такой способ копирования / вставки кода, но ни один из них не возвращает поток памяти при вызове метода GetData. Я не уверен, как извлечь объект из потока памяти.
Спасибо