using System; namespace CUETools.Codecs { /// /// This class provides an attribute for marking /// classes that provide . /// /// /// When plugins with classes that provide are /// registered, their attributes are read. /// /// /// using CUETools.Codecs; /// ///[AudioDecoderClass("libFLAC", "flac")] ///public class MyDecoder : IAudioSource { /// ... ///} /// [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public sealed class AudioDecoderClass : Attribute { public string DecoderName { get; set; } public string Extension { get; set; } public int Priority { get; set; } public AudioDecoderClass(string decoderName, string extension, int priority) { DecoderName = decoderName; Extension = extension; Priority = priority; } } }