Прочитать на английском

Поделиться через


ResXResourceWriter Класс

Определение

Записывает ресурсы в файл ресурсов XML (.resx) или в выходной поток.

public class ResXResourceWriter : System.Resources.IResourceWriter
public class ResXResourceWriter : IDisposable, System.Resources.IResourceWriter
Наследование
ResXResourceWriter
Реализации

Примеры

В следующем примере создается RESX-файл с именем CarResources.resx , в котором хранятся шесть строк, значок и два объекта, определяемых приложением (два Automobile объекта). Обратите внимание, что класс Automobile, определенный и созданный в этом примере, отмечен атрибутом SerializableAttribute.

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

[Serializable()] public class Automobile
{
   private string carMake;
   private string carModel;
   private int carYear;
   private int carDoors;
   private int carCylinders;

   public Automobile(string make, string model, int year) :
                     this(make, model, year, 0, 0)
   { }

   public Automobile(string make, string model, int year,
                     int doors, int cylinders)
   {
      this.carMake = make;
      this.carModel = model;
      this.carYear = year;
      this.carDoors = doors;
      this.carCylinders = cylinders;
   }

   public string Make {
      get { return this.carMake; }
   }

   public string Model {
      get {return this.carModel; }
   }

   public int Year {
      get { return this.carYear; }
   }

   public int Doors {
      get { return this.carDoors; }
   }

   public int Cylinders {
      get { return this.carCylinders; }
   }
}

public class Example
{
   public static void Main()
   {
      // Instantiate an Automobile object.
      Automobile car1 = new Automobile("Ford", "Model N", 1906, 0, 4);
      Automobile car2 = new Automobile("Ford", "Model T", 1909, 2, 4);
      // Define a resource file named CarResources.resx.
      using (ResXResourceWriter resx = new ResXResourceWriter(@".\CarResources.resx"))
      {
         resx.AddResource("Title", "Classic American Cars");
         resx.AddResource("HeaderString1", "Make");
         resx.AddResource("HeaderString2", "Model");
         resx.AddResource("HeaderString3", "Year");
         resx.AddResource("HeaderString4", "Doors");
         resx.AddResource("HeaderString5", "Cylinders");
         resx.AddResource("Information", SystemIcons.Information);
         resx.AddResource("EarlyAuto1", car1);
         resx.AddResource("EarlyAuto2", car2);
      }
   }
}

Комментарии

Записывает ResXResourceWriter ресурсы в формате XML. Чтобы записать двоичный файл ресурсов, используйте .ResourceWriter

Ресурсы указываются как пары "имя-значение" с помощью AddResource метода . В именах ресурсов учитывается регистр при использовании подстановок; но для упрощения поддержки средств разработки и устранения ошибок не ResXResourceWriter позволяет файлу .resx иметь имена, которые различаются только в зависимости от регистра.

Чтобы создать RESX-файл, создайте ResXResourceWriter с уникальным именем, вызовите AddResource хотя бы один раз, вызовите Generate , чтобы записать файл ресурсов на диск, а затем вызовите , Close чтобы закрыть файл. Вызов Close при необходимости неявно Generate приведет к файлу.

Ресурсы не обязательно записываются в том же порядке, в который они были добавлены.

Дополнительные сведения о формате RESX-файла см. в разделе Работа с RESX-файлами программным способом.

Примечание

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

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

ResXResourceWriter(Stream)

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

ResXResourceWriter(Stream, Func<Type,String>)

Инициализирует новый экземпляр класса ResXResourceWriter, записывающего ресурсы в указанный объект потока и задающего делегат преобразователя. Этот делегат позволяет записывать сборки ресурсов, предназначенные для .NET Framework до версии 4, с помощью полных имен сборок.

ResXResourceWriter(String)

Инициализирует новый экземпляр класса ResXResourceWriter, который записывает ресурсы в указанный файл.

ResXResourceWriter(String, Func<Type,String>)

Инициализирует новый экземпляр класса ResXResourceWriter, записывающий ресурсы в указанный файл и задающий делегат, который позволяет записывать сборки ресурсов, предназначенные для .NET Framework до версии 4, с помощью полных имен сборок.

ResXResourceWriter(TextWriter)

Инициализирует новый экземпляр класса ResXResourceWriter, который производит запись в указанный объект TextWriter.

ResXResourceWriter(TextWriter, Func<Type,String>)

Инициализирует новый экземпляр класса ResXResourceWriter, записывающий ресурсы в указанный объект TextWriter и задающий делегат, который позволяет записывать сборки ресурсов, предназначенные для .NET Framework до версии 4, с помощью полных имен сборок.

Поля

BinSerializedObjectMimeType

Задает тип содержимого по умолчанию для двоичного объекта. Это поле доступно только для чтения.

ByteArraySerializedObjectMimeType

Задает тип содержимого по умолчанию для объекта массива байтов. Это поле доступно только для чтения.

DefaultSerializedObjectMimeType

Задает тип содержимого по умолчанию для объекта. Это поле доступно только для чтения.

ResMimeType

Задает тип содержимого XML-ресурса. Это поле доступно только для чтения.

ResourceSchema

Задает схему, используемую при записи XML-файла. Это поле доступно только для чтения.

SoapSerializedObjectMimeType

Задает тип содержимого для объекта SOAP. Это поле доступно только для чтения.

Version

Указывает версию схемы, которой соответствуют выходные XML-данные. Это поле доступно только для чтения.

Свойства

BasePath

Возвращает или задает базовый путь для относительного пути к файлу, заданному в объекте ResXFileRef.

Методы

AddAlias(String, AssemblyName)

Добавляет указанный псевдоним в список псевдонимов.

AddMetadata(String, Byte[])

Добавляет свойства времени проектирования, значения которых указываются в виде массива байтов, в список ресурсов для записи.

AddMetadata(String, Object)

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

AddMetadata(String, String)

Добавляет свойство времени проектирования, значение которого указывается в виде строки, в список ресурсов для записи.

AddResource(ResXDataNode)

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

AddResource(String, Byte[])

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

AddResource(String, Object)

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

AddResource(String, String)

Добавляет строковый ресурс к ресурсам.

Close()

Освобождает все ресурсы, занятые модулем ResXResourceWriter.

Dispose()

Освобождает все ресурсы, занятые модулем ResXResourceWriter.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом ResXResourceWriter, а при необходимости освобождает также управляемые ресурсы.

Equals(Object)

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

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

Этот член переопределяет метод Finalize().

Generate()

Записывает все ресурсы, добавленные методом AddResource(String, Byte[]), в выходной файл или поток.

GetHashCode()

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

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

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

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

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

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

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

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

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

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