ResXResourceSet Класс

Определение

Представляет все ресурсы в файле ресурсов XML (RESX).

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 объекта и показывается, как перечислить его ресурсы и получить отдельные ресурсы по имени. Для каждого перечисленного ресурса в примере используется IDictionaryEnumerator.Key свойство в вызове GetString GetObject метода или, в зависимости от того, является ли значение ресурса строкой или объектом.

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-файла ресурсов. Для этого требуется файл точечного рисунка с именем Logo.bmp в каталоге, в котором выполняется пример.

Комментарии

ResXResourceSetКласс перечисляет IResourceReader , загружает каждое имя и значение и сохраняет их в хэш-таблице. Затем можно перечислить ресурсы в ResXResourceSet объекте или получить отдельные ресурсы по имени.

Примечание

Этот класс содержит SecurityAction.LinkDemand и SecurityAction.InheritanceDemand на уровне класса, который применяется ко всем элементам. SecurityExceptionИсключение возникает, если непосредственный вызывающий объект или производный класс не имеет разрешения полного доверия.

ResXResourceSetОбъект предоставляет удобный способ чтения всех ресурсов в RESX-файле в памяти. Метод можно использовать GetObject для получения определенного ресурса при считывании файла. resx в ResXResourceSet экземпляр.

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

Производные классы ResXResourceSet , использующие собственные средства чтения и записи ресурсов, должны переопределять GetDefaultReader() методы и, GetDefaultWriter() чтобы обеспечить соответствующую функциональность для интерпретации ResXResourceSet экземпляра.

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

ResXResourceSet(Stream)

Инициализирует новый экземпляр класса ResXResourceSet, используя системный объект по умолчанию ResXResourceReader для чтения ресурсов из заданного потока.

ResXResourceSet(String)

Инициализирует новый экземпляр класса ResXResourceSet, используя системный объект по умолчанию ResXResourceReader, который открывает и считывает ресурсы из заданного файла.

Поля

Reader

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

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

Объект Hashtable, в котором сохраняются ресурсы.

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

Методы

Close()

Закрывает и освобождает все ресурсы, используемые этим объектом ResourceSet.

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

Удаляет ресурсы (кроме памяти), используемые текущим экземпляром объекта ResourceSet.

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

Освобождает ресурсы (кроме памяти), связанные с текущим экземпляром, закрывая внутренние управляемые объекты, если имеется соответствующий запрос.

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

Определяет, равен ли указанный объект текущему объекту.

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

Возвращает предпочтительный объект чтения ресурсов для этого типа объектов ResXResourceSet.

GetDefaultWriter()

Возвращает предпочтительный класс объектов записи ресурсов для этого вида ресурса ResXResourceSet.

GetEnumerator()

Возвращает объект IDictionaryEnumerator, который может выполнить итерацию объекта ResourceSet.

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

Служит хэш-функцией по умолчанию.

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

Выполняет поиск объекта ресурсов с указанным именем.

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

Ищет объект ресурса с указанным именем без учета регистра, если это запрашивается.

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

Выполняет поиск ресурса String с указанным именем.

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

Выполняет поиск ресурса String с указанным именем без учета регистра, если это запрошено.

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

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

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

Создает неполную копию текущего объекта Object.

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

Считывает все ресурсы и сохраняет их в объекте Hashtable, указанном в свойстве Table.

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

Возвращает строку, представляющую текущий объект.

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

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

IEnumerable.GetEnumerator()

Возвращает объект IEnumerator в таком порядке, чтобы избежать состояния гонки с методом Dispose. Этот элемент не предназначен для непосредственного использования в коде.

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

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

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

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

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

См. также раздел