| File: System\ComponentModel\Design\Serialization\IDesignerSerializationService.cs | Web Access |
| Project: src\runtime\src\libraries\System.ComponentModel.TypeConverter\src\System.ComponentModel.TypeConverter.csproj (System.ComponentModel.TypeConverter) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; namespace System.ComponentModel.Design.Serialization { /// <summary> /// This service provides a way to exchange a collection of objects /// for a serializable object that represents them. The returned /// object contains live references to objects in the collection. /// This returned object can then be passed to any runtime /// serialization mechanism. The object itself serializes /// components the same way designers write source for them; by picking /// them apart property by property. Many objects do not support /// runtime serialization because their internal state cannot be /// adequately duplicated. All components that support a designer, /// however, must support serialization by walking their public /// properties, methods and events. This interface uses this /// technique to convert a collection of components into a single /// opaque object that does support runtime serialization. /// </summary> public interface IDesignerSerializationService { /// <summary> /// Deserializes the provided serialization data object and /// returns a collection of objects contained within that data. /// </summary> ICollection Deserialize(object serializationData); /// <summary> /// Serializes the given collection of objects and /// stores them in an opaque serialization data object. /// The returning object fully supports runtime serialization. /// </summary> object Serialize(ICollection objects); } }