//------------------------------------------------------------------------------
//
// 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;
}
}
}
}