ResXResourceWriter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将资源写入 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
- 实现
示例
以下示例创建一个名为 的 CarResources.resx
.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。
使用 AddResource 方法将资源指定为名称/值对。 资源名称在用于查找时区分大小写;但为了更轻松地支持创作工具并帮助消除 bug, ResXResourceWriter 不允许 a.resx 文件的名称仅因大小写而异。
若要创建.resx 文件,请创建 ResXResourceWriter 具有唯一文件名的 ,至少调用 AddResource 一次,调用 Generate 以将资源文件写入磁盘,然后调用 Close 以关闭文件。 如果需要,调用 Close 将隐式 Generate 调用 文件。
资源的写入顺序不一定与添加的顺序相同。
有关 a.resx 文件格式的详细信息,请参阅 以编程方式使用 .resx 文件。
注意
此类包含应用于所有成员的类级别的链接需求和继承需求。 SecurityException当直接调用方或派生类没有完全信任权限时,将引发 。
构造函数
ResXResourceWriter(Stream) |
初始化 ResXResourceWriter 类的新实例,它将资源写入到指定的流对象中。 |
ResXResourceWriter(Stream, Func<Type,String>) |
初始化 ResXResourceWriter 类的新实例,它将资源写入指定的流对象并设置转换器委托。 通过此委托,可以使用限定的程序集名称以面向 .NET Framework 4 之前的 .NET Framework 版本编写资源程序集。 |
ResXResourceWriter(String) |
初始化 ResXResourceWriter 类的新实例,它将资源写入到指定文件中。 |
ResXResourceWriter(String, Func<Type,String>) |
初始化 ResXResourceWriter 类的新实例,它将资源写入指定的文件并设置一个委托,通过该委托可以使用限定的程序集名称以面向 .NET Framework 4 之前的 .NET Framework 版本编写资源程序集。 |
ResXResourceWriter(TextWriter) |
初始化 ResXResourceWriter 类的新实例,它写入到指定的 TextWriter 对象中。 |
ResXResourceWriter(TextWriter, Func<Type,String>) |
初始化 ResXResourceWriter 类的新实例,它将资源写入指定的 TextWriter 对象并设置一个委托,通过该委托可以使用限定的程序集名称以面向 .NET Framework 4 之前的 .NET Framework 版本编写资源程序集。 |
字段
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) |