//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Composition;
namespace Microsoft.SqlTools.Hosting.Extensibility
{
///
/// Base attribute class for all export definitions.
///
[MetadataAttribute]
[AttributeUsage(AttributeTargets.Class)]
public abstract class ExportStandardMetadataAttribute : ExportAttribute, IStandardMetadata
{
///
/// Base class for DAC extensibility exports
///
protected ExportStandardMetadataAttribute(Type contractType, string id, string displayName = null)
: base(contractType)
{
Id = id;
DisplayName = displayName;
}
///
/// The version of this extension
///
public string Version { get; set; }
///
/// The id of the extension
///
public string Id { get; }
///
/// The display name for the extension
///
public virtual string DisplayName { get; }
}
}