Kan man ikke kan en ArrayList med interfaces på ClipBoard
Altså, jeg har et interface(eller superklasse om du vil). Denne bliver brugt til at holde de forskellige objekter der bliver oprettet. Dette går også fint, også når disse bliver lagt i en ArrayListe og bliver hevet op forskellige steder.Men når jeg ligger ArrayListen i ClipBoard, så fejler den.
Clipboardet kakn godt se at det er en ArrayListe der ligger derude men når jeg trækker den ud bliver den sat til null, og jeg får en null pointer exception
Koden er som følgende:
Ligger i Arraylisten
ArrayList cutCopy = new ArrayList();
Rectangle r = new Rectangle(rs.P1,new Size(rs.P2.X, rs.P2.Y));
foreach(UML_Interface_IAShape.UML_IPlugin_IAShape shape in
((Document)ActiveMdiChild).Loader.MyAL)
{
if(r.Contains(shape.SelectionMoveRectangle.Location))
{
UML_Interface_IAShape.UML_IPlugin_IAShape test =
(UML_Interface_IAShape.UML_IPlugin_IAShape)shape;
cutCopy.Add(shape);
}
}
Clipboard.SetDataObject(cutCopy,false);
Trækker ud fra ArrayListen
ArrayList cutCopy = new ArrayList();
IDataObject data = Clipboard.GetDataObject();
if(data.GetDataPresent(typeof
(UML_Interface_IAShape.UML_IPlugin_IAShape)))
{
Document d = (Document)this.ActiveMdiChild;
cutCopy = (ArrayList)data.GetData(typeof(ArrayList));
foreach(UML_Interface_IAShape.UML_IPlugin_IAShape shape in
cutCopy)
{
d.Loader.MyAL.Add(shape);
}
}
Virker der ikke fordi man bruger superklasser/interface og ClipBoard bliver "snydt" af at den ikke passer i Binary størrelsen eller er der en anden grund
