using System; using System.ComponentModel; using System.Resources; namespace Developpez.Dotnet.ComponentModel { /// /// Permet de spécifier une description localisée pour un élément de code (type, propriété, évènement...) /// public class LocalizedDescriptionAttribute : DescriptionAttribute { private readonly string _resourceKey; private readonly ResourceManager _resourceManager; /// /// Initialise une nouvelle instance de la classe LocalizedDescriptionAttribute. /// /// Clé de la ressource localisée qui contient la description /// Type qui permet de trouver les ressources localisées public LocalizedDescriptionAttribute(string resourceKey, Type resourceType) { _resourceKey = resourceKey; _resourceManager = new ResourceManager(resourceType); } /// /// Obtient la description localisée définie par cet attribut. /// public override string Description { get { return _resourceManager.GetString(_resourceKey); } } } }