ResXResourceSet Класс

Определение

Представляет все ресурсы в файле ресурсов XML (RESX).Represents all resources in an XML resource (.resx) file.

public ref class ResXResourceSet : System::Resources::ResourceSet
public class ResXResourceSet : System.Resources.ResourceSet
type ResXResourceSet = class
    inherit ResourceSet
Public Class ResXResourceSet
Inherits ResourceSet
Наследование
ResXResourceSet

Примеры

В следующем примере создается экземпляр ResXResourceSet объекта и показывается, как перечислить его ресурсы и получить отдельные ресурсы по имени.The following example instantiates a ResXResourceSet object and illustrates how to enumerate its resources and retrieve individual resources by name. Для каждого перечисленного ресурса в примере используется IDictionaryEnumerator.Key свойство в вызове GetString GetObject метода или, в зависимости от того, является ли значение ресурса строкой или объектом.For each resource that it enumerates, the example uses the IDictionaryEnumerator.Key property in a call to the GetString or GetObject method, depending on whether the value of the resource is a string or an object.

using System;
using System.Collections;
using System.Drawing;
using System.Resources;

public class Example
{
   public static void Main()
   {
      CreateResXFile();
      
      ResXResourceSet resSet = new ResXResourceSet(@".\StoreResources.resx");
      IDictionaryEnumerator dict = resSet.GetEnumerator();
      while (dict.MoveNext()) {
         string key = (string) dict.Key;
         // Retrieve resource by name.
         if (dict.Value is string)
            Console.WriteLine("{0}: {1}", key, resSet.GetString(key));
         else
            Console.WriteLine("{0}: {1}", key, resSet.GetObject(key));   
      }
   }

   private static void CreateResXFile()
   {
      Bitmap logo = new Bitmap(@".\Logo.bmp");
      ResXDataNode node;
      
      ResXResourceWriter rw = new ResXResourceWriter(@".\StoreResources.resx");
      node = new ResXDataNode("Logo", logo);
      node.Comment = "The corporate logo.";
      rw.AddResource(node); 
      rw.AddResource("AppTitle", "Store Locations");
      node = new ResXDataNode("nColumns", 5);
      node.Comment = "The number of columns in the Store Location table";
      rw.AddResource(node);
      rw.AddResource("City", "City");
      rw.AddResource("State", "State");
      rw.AddResource("Code", "Zip Code");
      rw.AddResource("Telephone", "Phone");
      rw.Generate();
      rw.Close();
   }
}
// The example displays the following output:
//       Telephone: Phone
//       Code: Zip Code
//       State: State
//       City: City
//       nColumns: 5
//       AppTitle: Store Locations
//       Logo: System.Drawing.Bitmap
Imports System.Collections
Imports System.Drawing
Imports System.Resources

Module Example
   Public Sub Main()
      CreateResXFile()
      
      Dim resSet As New ResXResourceSet(".\StoreResources.resx")
      Dim dict As IDictionaryEnumerator = resSet.GetEnumerator()
      Do While dict.MoveNext()
         Dim key As String = CStr(dict.Key)
         ' Retrieve resource by name.
         If typeof dict.Value Is String Then
            Console.WriteLine("{0}: {1}", key, resSet.GetString(key))
         Else
            Console.WriteLine("{0}: {1}", key, resSet.GetObject(key))   
         End If
      Loop
   End Sub
   
   Private Sub CreateResXFile()
      Dim logo As New Bitmap(".\Logo.bmp")
      Dim node As ResXDataNode
      
      Dim rw As New ResXResourceWriter(".\StoreResources.resx")
      node = New ResXDataNode("Logo", logo)
      node.Comment = "The corporate logo."
      rw.AddResource(node) 
      rw.AddResource("AppTitle", "Store Locations")
      node = New ResXDataNode("nColumns", 5)
      node.Comment = "The number of columns in the Store Location table"
      rw.AddResource(node)
      rw.AddResource("City", "City")
      rw.AddResource("State", "State")
      rw.AddResource("Code", "Zip Code")
      rw.AddResource("Telephone", "Phone")
      rw.Generate()
      rw.Close()
   End Sub
End Module
' The example displays the following output:
'       Telephone: Phone
'       Code: Zip Code
'       State: State
'       City: City
'       nColumns: 5
'       AppTitle: Store Locations
'       Logo: System.Drawing.Bitmap

В примере вызывается CreateResXFile метод для создания необходимого XML-файла ресурсов.The example calls a CreateResXFile method to create the necessary XML resource file. Для этого требуется файл точечного рисунка с именем Logo.bmp в каталоге, в котором выполняется пример.It requires a bitmap file named Logo.bmp in the directory in which the example is running.

Комментарии

ResXResourceSetКласс перечисляет IResourceReader , загружает каждое имя и значение и сохраняет их в хэш-таблице.The ResXResourceSet class enumerates over an IResourceReader, loads every name and value, and stores them in a hash table. Затем можно перечислить ресурсы в ResXResourceSet объекте или получить отдельные ресурсы по имени.You can then enumerate the resources in the ResXResourceSet object or retrieve individual resources by name.

Примечание

Этот класс содержит SecurityAction.LinkDemand и SecurityAction.InheritanceDemand на уровне класса, который применяется ко всем элементам.This class contains a SecurityAction.LinkDemand and an SecurityAction.InheritanceDemand at the class level that applies to all members. SecurityExceptionИсключение возникает, если непосредственный вызывающий объект или производный класс не имеет разрешения полного доверия.A SecurityException exception is thrown when the immediate caller or a derived class does not have full-trust permission.

ResXResourceSetОбъект предоставляет удобный способ чтения всех ресурсов в RESX-файле в памяти.A ResXResourceSet object provides a convenient way to read all the resources in a .resx file into memory. Метод можно использовать GetObject для получения определенного ресурса при считывании файла. resx в ResXResourceSet экземпляр.You can use the GetObject method to retrieve a particular resource when the .resx file has been read into a ResXResourceSet instance.

Примечания для тех, кто наследует этот метод

Производные классы ResXResourceSet , использующие собственные средства чтения и записи ресурсов, должны переопределять GetDefaultReader() методы и, GetDefaultWriter() чтобы обеспечить соответствующую функциональность для интерпретации ResXResourceSet экземпляра.Derived classes of ResXResourceSet that use their own resource reader and writer should override the GetDefaultReader() and GetDefaultWriter() methods to provide the appropriate functionality for interpreting the ResXResourceSet instance.

Конструкторы

ResXResourceSet(Stream)

Инициализирует новый экземпляр класса ResXResourceSet, используя системный объект по умолчанию ResXResourceReader для чтения ресурсов из заданного потока.Initializes a new instance of the ResXResourceSet class using the system default ResXResourceReader to read resources from the specified stream.

ResXResourceSet(String)

Инициализирует новый экземпляр класса ResXResourceSet, используя системный объект по умолчанию ResXResourceReader, который открывает и считывает ресурсы из заданного файла.Initializes a new instance of a ResXResourceSet class using the system default ResXResourceReader that opens and reads resources from the specified file.

Поля

Reader

Указывает объект IResourceReader, используемый для чтения ресурсов.Indicates the IResourceReader used to read the resources.

(Унаследовано от ResourceSet)
Table

Объект Hashtable, в котором сохраняются ресурсы.The Hashtable in which the resources are stored.

(Унаследовано от ResourceSet)

Методы

Close()

Закрывает и освобождает все ресурсы, используемые этим объектом ResourceSet.Closes and releases any resources used by this ResourceSet.

(Унаследовано от ResourceSet)
Dispose()

Удаляет ресурсы (кроме памяти), используемые текущим экземпляром объекта ResourceSet.Disposes of the resources (other than memory) used by the current instance of ResourceSet.

(Унаследовано от ResourceSet)
Dispose(Boolean)

Освобождает ресурсы (кроме памяти), связанные с текущим экземпляром, закрывая внутренние управляемые объекты, если имеется соответствующий запрос.Releases resources (other than memory) associated with the current instance, closing internal managed objects if requested.

(Унаследовано от ResourceSet)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetDefaultReader()

Возвращает предпочтительный объект чтения ресурсов для этого типа объектов ResXResourceSet.Returns the preferred resource reader class for this kind of ResXResourceSet.

GetDefaultWriter()

Возвращает предпочтительный класс объектов записи ресурсов для этого вида ресурса ResXResourceSet.Returns the preferred resource writer class for this kind of ResXResourceSet.

GetEnumerator()

Возвращает объект IDictionaryEnumerator, который может выполнить итерацию объекта ResourceSet.Returns an IDictionaryEnumerator that can iterate through the ResourceSet.

(Унаследовано от ResourceSet)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetObject(String)

Выполняет поиск объекта ресурсов с указанным именем.Searches for a resource object with the specified name.

(Унаследовано от ResourceSet)
GetObject(String, Boolean)

Ищет объект ресурса с указанным именем без учета регистра, если это запрашивается.Searches for a resource object with the specified name in a case-insensitive manner, if requested.

(Унаследовано от ResourceSet)
GetString(String)

Выполняет поиск ресурса String с указанным именем.Searches for a String resource with the specified name.

(Унаследовано от ResourceSet)
GetString(String, Boolean)

Выполняет поиск ресурса String с указанным именем без учета регистра, если это запрошено.Searches for a String resource with the specified name in a case-insensitive manner, if requested.

(Унаследовано от ResourceSet)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ReadResources()

Считывает все ресурсы и сохраняет их в объекте Hashtable, указанном в свойстве Table.Reads all the resources and stores them in a Hashtable indicated in the Table property.

(Унаследовано от ResourceSet)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

IEnumerable.GetEnumerator()

Возвращает объект IEnumerator в таком порядке, чтобы избежать состояния гонки с методом Dispose.Returns an IEnumerator object to avoid a race condition with Dispose. Этот элемент не предназначен для непосредственного использования в коде.This member is not intended to be used directly from your code.

(Унаследовано от ResourceSet)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к