ResXResourceWriter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Записывает ресурсы в XML-файл ресурса (RESX) или выходной поток.
public ref class ResXResourceWriter : System::Resources::IResourceWriter
public ref class ResXResourceWriter : IDisposable, System::Resources::IResourceWriter
public class ResXResourceWriter : System.Resources.IResourceWriter
public class ResXResourceWriter : IDisposable, System.Resources.IResourceWriter
type ResXResourceWriter = class
interface IResourceWriter
interface IDisposable
Public Class ResXResourceWriter
Implements IResourceWriter
Public Class ResXResourceWriter
Implements IDisposable, 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);
}
}
}
Imports System.Drawing
Imports System.Resources
<Serializable()> Public Class Automobile
Private carMake As String
Private carModel As String
Private carYear As Integer
Private carDoors AS Integer
Private carCylinders As Integer
Public Sub New(make As String, model As String, year As Integer)
Me.New(make, model, year, 0, 0)
End Sub
Public Sub New(make As String, model As String, year As Integer,
doors As Integer, cylinders As Integer)
Me.carMake = make
Me.carModel = model
Me.carYear = year
Me.carDoors = doors
Me.carCylinders = cylinders
End Sub
Public ReadOnly Property Make As String
Get
Return Me.carMake
End Get
End Property
Public ReadOnly Property Model As String
Get
Return Me.carModel
End Get
End Property
Public ReadOnly Property Year As Integer
Get
Return Me.carYear
End Get
End Property
Public ReadOnly Property Doors As Integer
Get
Return Me.carDoors
End Get
End Property
Public ReadOnly Property Cylinders As Integer
Get
Return Me.carCylinders
End Get
End Property
End Class
Module Example
Public Sub Main()
' Instantiate an Automobile object.
Dim car1 As New Automobile("Ford", "Model N", 1906, 0, 4)
Dim car2 As New Automobile("Ford", "Model T", 1909, 2, 4)
' Define a resource file named CarResources.resx.
Using resx As 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)
End Using
End Sub
End Module
Комментарии
Ресурсы ResXResourceWriter записываются в формате XML. Чтобы записать двоичный файл ресурсов, используйте ResourceWriter.
Ресурсы указываются как пары name/value с помощью AddResource метода. Имена ресурсов чувствительны к регистру при использовании для подстановок; но для упрощения поддержки средств разработки и устранения ошибок ResXResourceWriter не позволяет resx-файлу иметь имена, которые зависят только от регистра.
Чтобы создать resx-файл, создайте уникальное ResXResourceWriter имя файла, вызовите AddResource по крайней мере один раз, вызовите Generate файл ресурсов на диск, а затем вызовите Close закрытие файла. При необходимости вызов файла Close будет неявно Generate .
Ресурсы не обязательно записываются в том же порядке, что и они были добавлены.
Дополнительные сведения о формате RESX-файла см. в статье "Работа с RESX-файлами программным способом".
Note
Этот класс содержит запрос ссылки и запрос наследования на уровне класса, которые применяются ко всем членам. SecurityException возникает, когда ни непосредственный вызывающий объект, ни производный класс не имеют разрешения на полное доверие.
Конструкторы
| Имя | Описание |
|---|---|
| ResXResourceWriter(Stream, Func<Type,String>) |
Инициализирует новый экземпляр ResXResourceWriter класса, который записывает ресурсы в указанный объект потока и задает делегат преобразователя. Этот делегат позволяет создавать сборки ресурсов, предназначенные для целевых версий платформы .NET Framework до .NET Framework 4 с помощью полных имен сборок. |
| ResXResourceWriter(Stream) |
Инициализирует новый экземпляр ResXResourceWriter класса, который записывает ресурсы в указанный объект потока. |
| ResXResourceWriter(String, Func<Type,String>) |
Инициализирует новый экземпляр класса ResXResourceWriter, который записывает ресурсы в указанный файл и задает делегат, позволяющий записывать сборки ресурсов в целевые версии платформы .NET Framework до .NET Framework 4 с помощью полных имен сборок сборок. |
| ResXResourceWriter(String) |
Инициализирует новый экземпляр ResXResourceWriter класса, который записывает ресурсы в указанный файл. |
| ResXResourceWriter(TextWriter, Func<Type,String>) |
Инициализирует новый экземпляр класса ResXResourceWriter, который записывает ресурсы в указанный объект TextWriter и задает делегат, позволяющий записывать сборки ресурсов в целевые версии платформы .NET Framework до .NET Framework 4 с помощью квалифицированных имен сборок сборок. |
| ResXResourceWriter(TextWriter) |
Инициализирует новый экземпляр ResXResourceWriter класса, который записывается в указанный TextWriter объект. |
Поля
| Имя | Описание |
|---|---|
| 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) |