ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Méthode

Définition

Récupère l’ensemble de ressources pour une culture particulière.

public:
 virtual System::Resources::ResourceSet ^ GetResourceSet(System::Globalization::CultureInfo ^ culture, bool createIfNotExists, bool tryParents);
public virtual System.Resources.ResourceSet GetResourceSet(System.Globalization.CultureInfo culture, bool createIfNotExists, bool tryParents);
abstract member GetResourceSet : System.Globalization.CultureInfo * bool * bool -> System.Resources.ResourceSet
override this.GetResourceSet : System.Globalization.CultureInfo * bool * bool -> System.Resources.ResourceSet
Public Overridable Function GetResourceSet (culture As CultureInfo, createIfNotExists As Boolean, tryParents As Boolean) As ResourceSet

Paramètres

culture
CultureInfo

Culture dont les ressources doivent être récupérées.

createIfNotExists
Boolean

true pour charger le jeu de ressources, s’il n’a pas encore été chargé ; sinon, false.

tryParents
Boolean

true pour utiliser la secours des ressources pour charger une ressource appropriée si le jeu de ressources est introuvable ; false pour contourner le processus de secours des ressources.

Retours

Jeu de ressources pour la culture spécifiée.

Exceptions

Le culture paramètre est null.

tryParents est true, aucun ensemble utilisable de ressources a été trouvé et il n’existe aucune ressource de culture par défaut.

Exemples

L’exemple suivant appelle la GetResourceSet méthode pour récupérer des ressources propres à la culture française (France). Il énumère ensuite toutes les ressources du jeu de ressources. Il contient le code source d’un exécutable nommé ShowNumbers.exe. L’exemple inclut deux fichiers texte qui contiennent les noms des nombres. Le premier, NumberResources.txt, contient les noms de nombres d’un à dix dans la langue anglaise :

one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten

Le deuxième, NumberResources.fr-FR.txt, contient les noms des nombres d’un à quatre dans la langue française :

one=un
two=deux
three=trois
four=quatre

Vous pouvez utiliser un fichier de commandes pour générer les fichiers de ressources, incorporer le fichier de ressources de langue anglaise dans l’exécutable et créer un assembly satellite pour les ressources de langue française. Voici le fichier de commandes pour générer un exécutable à l'aide du compilateur Visual Basic :

resgen NumberResources.txt
vbc shownumbers.vb /resource:NumberResources.resources

md fr-FR
resgen NumberResources.fr-FR.txt
al /out:fr-FR\ShowNumbers.resources.dll /culture:fr-FR /embed:NumberResources.fr-FR.resources

Pour le compilateur C#, vous pouvez utiliser le fichier batch suivant :

resgen NumberResources.txt
csc shownumbers.cs /resource:NumberResources.resources

md fr-FR
resgen NumberResources.fr-FR.txt
al /out:fr-FR\ShowNumbers.resources.dll /culture:fr-FR /embed:NumberResources.fr-FR.resources
using System;
using System.Globalization;
using System.Resources;

public class Example
{
   public static void Main()
   {
      String[] numbers = { "one", "two", "three", "four", "five", "six",
                           "seven", "eight", "nine", "ten" };
      var rm = new ResourceManager(typeof(NumberResources));
      ResourceSet rs = rm.GetResourceSet(CultureInfo.CreateSpecificCulture("fr-FR"),
                                         true, false);
      if (rs == null) {
         Console.WriteLine("No resource set.");
         return;
      }

      foreach (var number in numbers)
         Console.WriteLine("{0,-10} '{1}'", number + ":", rs.GetString(number));
   }
}

internal class NumberResources {}
// The example displays the following output:
//       one:       'un'
//       two:       'deux'
//       three:     'trois'
//       four:      'quatre'
//       five:      ''
//       six:       ''
//       seven:     ''
//       eight:     ''
//       nine:      ''
//       ten:       ''
Imports System.Globalization
Imports System.Resources

Module Example
   Public Sub Main()
      Dim numbers() As String = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }
      Dim rm As New ResourceManager(GetType(NumberResources))
      Dim rs As ResourceSet = rm.GetResourceSet(CultureInfo.CreateSpecificCulture("fr-FR"), True, False)
      If rs Is Nothing Then Console.WriteLine("No resource set.") : Exit Sub
      For Each number In numbers
         Console.WriteLine("{0,-10} '{1}'", number + ":", rs.GetString(number))
      Next            
   End Sub
End Module

Public Class NumberResources
End Class
' The example displays the following output:
'       one:       'un'
'       two:       'deux'
'       three:     'trois'
'       four:      'quatre'
'       five:      ''
'       six:       ''
'       seven:     ''
'       eight:     ''
'       nine:      ''
'       ten:       ''

Si vous modifiez la valeur de l'argument createIfNotExists en false, l'appel de méthode retourne null, car Resource Manager n'a pas encore chargé les ressources de langue française.

Remarques

Le jeu de ressources retourné représente les ressources localisées pour la culture spécifiée. Si les ressources n’ont pas été localisées pour cette culture et tryParents que c’est le cas true, GetResourceSet utilisez des règles de secours de ressources pour charger une ressource appropriée. Si tryParents un false jeu de ressources spécifique à la culture est introuvable, la méthode retourne null. Pour plus d’informations sur la secours des ressources, consultez la section « Processus de secours des ressources » dans l’article Empaquetage et déploiement de ressources .

S’applique à

Voir aussi