//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.ComponentModel.Design.Serialization { using System.Security.Permissions; /// /// The default serialization provider attribute is placed on a serializer /// to indicate the class to use as a default provider of that type of /// serializer. To be a default serialization provider, a class must /// implement IDesignerSerilaizationProvider and have an empty /// constructor. The class itself can be internal to the assembly. /// [AttributeUsage(AttributeTargets.Class, Inherited = false)] public sealed class DefaultSerializationProviderAttribute : Attribute { private string _providerTypeName; /// /// Creates a new DefaultSerializationProviderAttribute /// public DefaultSerializationProviderAttribute(Type providerType) { if (providerType == null) { throw new ArgumentNullException("providerType"); } _providerTypeName = providerType.AssemblyQualifiedName; } /// /// Creates a new DefaultSerializationProviderAttribute /// public DefaultSerializationProviderAttribute(string providerTypeName) { if (providerTypeName == null) { throw new ArgumentNullException("providerTypeName"); } _providerTypeName = providerTypeName; } /// /// Returns the type name for the default serialization provider. /// public string ProviderTypeName { get { return _providerTypeName; } } } }