Delen via


Windows Forms en Windows Presentation FoundationBinaryFormatterOLE richtlijnen

Dit document bevat een overzicht van de effecten die het BinaryFormatter verwijderen heeft op OLE scenario's in Windows Forms en Windows Presentation Foundation (WPF). Zie de migratiehandleiding voor meer informatie over de effecten van verwijdering in Windows Forms het algemeen.BinaryFormatterWindows Forms BinaryFormatter Zie de migratiehandleiding voor meer informatie over de effecten van verwijdering in WPF het algemeen.BinaryFormatterWPF BinaryFormatter

BinaryFormatter in OLE scenario's

Klembord

Alle standaard OLE DataFormats in System.Windows.Forms.DataFormats en System.Windows.DataFormats gaan niet door BinaryFormatter, met uitzondering van DataFormats.Serializable en elke aangepaste indeling. Als u DataFormats.Serializable een aangepaste indeling of een aangepaste indeling gebruikt, BinaryFormatter wordt gebruikt als uw klembordscenario een type omvat dat niet intrinsiek wordt verwerkt zoals beschreven in Windows Forms de migratiehandleiding voor BinaryFormatteren WPF migratiehandleiding : binaire opmaak. BinaryFormatter Met name wordt gebruikt wanneer System.Windows.Forms.Clipboard.SetData of System.Windows.Clipboard.SetData wordt aangeroepen met uw type en wanneer System.Windows.Forms.Clipboard.GetData of System.Windows.Clipboard.GetData wordt aangeroepen om uw type op te halen. BinaryFormatter wordt ook gebruikt als System.Windows.Forms.Clipboard.SetDataObject of System.Windows.Clipboard.SetDataObject wordt aangeroepen. Bij het BinaryFormatter verwijderen ziet u geen uitzondering bij het instellen van de gegevens op het klembord als BinaryFormatter dat nodig is. In plaats daarvan ziet u een tekenreeks over BinaryFormatter het verwijderen wanneer u probeert het type op te halen dat niet intrinsiek wordt verwerkt vanaf het klembord.

Functie slepen en neerzetten

Als uw scenario voor slepen en neerzetten betrekking heeft op typen die niet intrinsiek worden verwerkt tijdens serialisatie en deserialisatie, BinaryFormatter wordt gebruikt wanneer System.Windows.Forms.Control.DoDragDrop of System.Windows.DragDrop.DoDragDrop wordt aangeroepen en de gegevens uit het proces zijn gesleept. BinaryFormatter wordt ook gebruikt wanneer System.Windows.Forms.DataObject.GetData of System.Windows.DataObject.GetData wordt aangeroepen om de gegevens op te halen die afkomstig zijn van een ander proces als het type niet intrinsiek wordt verwerkt. Met de BinaryFormatter verwijdering ziet u nu een tekenreeks over BinaryFormatter het verwijderen wanneer u probeert de gegevens op te halen die afkomstig zijn van een ander proces voor typen die niet intrinsiek worden verwerkt.

Migreren weg van BinaryFormatter

Klembord en slepen en neerzetten

Voor typen die niet intrinsiek worden verwerkt die worden gebruikt in klembord- en slepen-en-neerzetten-bewerkingen, is het raadzaam deze typen op te maken als een byte[] of string nettolading voordat u de gegevens doorgeeft aan klembord of API's voor slepen en neerzetten. Het gebruik van JSON is een manier om dit te bereiken. U moet aanpassingen aanbrengen om het ontvangen van een met JSON opgemaakt type te verwerken, vergelijkbaar met aanpassingen die zijn aangebracht om JSON-opgemaakte typen op het klembord te plaatsen of bewerkingen voor slepen en neerzetten. Zie .NET-objecten schrijven als JSON (serialiseren) voor meer informatie over het serialiseren en deserialiseren van het type met JSON.

Problemen

Als u onverwacht gedrag ondervindt bij uw Windows Forms of WPF app met betrekking tot BinaryFormatter serialisatie of deserialisatie, kunt u een probleem indienen bij github.com/dotnet/winforms of github.com/dotnet/wpf respectievelijk.