Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles Récents

7 août 2007 2 07 /08 /août /2007 01:48
[resgen.exe] –
Générer une classe pour une gestion des ressources « typée »
 
Resgen.exe  est un utilitaire du SDK de Visual Studio (C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/ par défaut)
Ici je vais générer une classe à partir du fichier de ressources d’une application de manière à accéder très facilement à celles –ci , les fichiers de resources des forms sont egalement exploitables,
 l’interet est d’avoir un accès typé aux ressources et de ce fait bien simplifié et plus rapide que de passer par le ressourceManager
La commande :
resgen  « C:/Documents and Settings/romagny/Mes documents/Visual Studio 2005/Projects /DemoRessources/Properties/Resources.resx” /str:cs
 
Pour plus de renseignements sur les options disponibles :
ou tout simplement dans l’invite de commande
 resgen / ?
Le fichier resources.resources est généré ainsi qu’une classe Resources.cs comprenant des champs static
Au départ j’ai ajouté deux chaines de caracteres dans les ressources du projet (MessageAccueil et MessageFin) on les retrouve bien dans le code généré
Resources.cs
//------------------------------------------------------------------------------
// <auto-generated>
//     Ce code a été généré par un outil.
//     Version du runtime :2.0.50727.1378
//
//     Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
//     le code est régénéré.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
 
 
 
///<summary>
///   Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
///</summary>
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
   
    private static global::System.Resources.ResourceManager resourceMan;
   
    private static global::System.Globalization.CultureInfo resourceCulture;
   
    [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
    internal Resources() {
    }
   
    ///<summary>
    ///   Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
    ///</summary>
    [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
    internal static global::System.Resources.ResourceManager ResourceManager {
        get {
            if (object.ReferenceEquals(resourceMan, null)) {
                global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Resources", typeof(Resources).Assembly);
                resourceMan = temp;
            }
            return resourceMan;
        }
    }
   
    ///<summary>
    ///   Remplace la propriété CurrentUICulture du thread actuel pour toutes
    ///   les recherches de ressources à l'aide de cette classe de ressource fortement typée.
    ///</summary>
    [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
    internal static global::System.Globalization.CultureInfo Culture {
        get {
            return resourceCulture;
        }
        set {
            resourceCulture = value;
        }
    }
   
    ///<summary>
    ///   Recherche une chaîne localisée semblable à Bienvenue.
    ///</summary>
    internal static string MessageAccueil {
        get {
            return ResourceManager.GetString("MessageAccueil", resourceCulture);
        }
    }
   
    ///<summary>
    ///   Recherche une chaîne localisée semblable à à bientot.
    ///</summary>
    internal static string MessageFin {
        get {
            return ResourceManager.GetString("MessageFin", resourceCulture);
        }
    }
}
 
 
Utilisation simplissime ,exemple :
lblMessage.Text = Resources.MessageAccueil;
 

Partager cet article

Repost 0
Published by Romagny13 - dans C 1.0- 2.0- 3.0
commenter cet article

commentaires