/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
VisualPascalABCNETLinux/SSYY/SampleDesignerSerializationService.cs
49 строк
1 KB
Mikhalkovich Stanislav
Для Linux-версии исправлен DockContent, редактор (показ всплывающего окна)
30 июн 2022, 09:47
30 июн 2022, 09:47
3072383
Код
Авторство
О чём код?
using System; using System.Xml; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; namespace SampleDesignerHost { /// <summary> /// Implementation de IDesignerSerializationService /// </summary> public class SampleDesignerSerializationService : IDesignerSerializationService { private IDesignerHost host; public SampleDesignerSerializationService(IDesignerHost host) { this.host = host; } public object Serialize(ICollection objects) { XmlDocument xDoc = new XmlDocument(); xDoc.AppendChild(xDoc.CreateElement("COPY")); object[] list = new object[objects.Count]; objects.CopyTo(list, 0); ((SampleDesignerHost)host).WriteComponentCollection(xDoc, list, xDoc.DocumentElement); return xDoc.OuterXml; } public ICollection Deserialize(object serializationData) { ArrayList errors = new ArrayList(); XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(serializationData.ToString()); ICollection objects = ((SampleDesignerHost)host).CreateComponents(xDoc, errors); foreach (string s in errors) { System.Diagnostics.Debug.WriteLine(s); } return objects; } } }