다음을 통해 공유


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 문자열 6 개, 아이콘 및 두 개의 애플리케이션 정의 개체를 저장 하는 (두 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 이름/값 쌍으로 지정됩니다. 리소스 이름은 조회에 사용되는 경우 대/소문자를 구분합니다. 하지만 작성 도구를 보다 쉽게 지원하고 버그 ResXResourceWriter 를 제거하는 데 도움이 되도록 a.resx 파일에 대/소문자만 다른 이름을 사용할 수 없습니다.

a.resx 파일을 만들려면 고유한 파일 이름을 가진 을 ResXResourceWriter 만들고, 한 번 이상 호출 AddResource 하고, 를 호출 Generate 하여 리소스 파일을 디스크에 쓴 다음, 를 호출 Close 하여 파일을 닫습니다. 필요한 경우 를 호출 Close 하면 파일이 암시적으로 Generate 표시됩니다.

리소스가 추가된 순서대로 반드시 작성되지는 않습니다.

a.resx 파일 형식에 대한 자세한 내용은 프로그래밍 방식으로 .resx 파일 작업을 참조하세요.

참고

이 클래스에는 모든 멤버에 적용되는 클래스 수준의 링크 요청 및 상속 요청이 포함됩니다. 직접 SecurityException 호출자 또는 파생 클래스에 완전 신뢰 권한이 없는 경우 가 throw됩니다.

생성자

ResXResourceWriter(Stream)

지정된 스트림 개체에 리소스를 쓰는 ResXResourceWriter 클래스의 새 인스턴스를 초기화합니다.

ResXResourceWriter(Stream, Func<Type,String>)

지정된 스트림 개체에 리소스를 기록하고 변환기 대리자를 설정하는 ResXResourceWriter 클래스의 새 인스턴스를 초기화합니다. 이 대리자를 사용하면 정규화된 어셈블리 이름을 사용하여 .NET Framework 4 이전의 .NET Framework 대상 버전이 리소스 어셈블리에 기록되도록 할 수 있습니다.

ResXResourceWriter(String)

지정된 파일에 리소스를 쓰는 ResXResourceWriter 클래스의 새 인스턴스를 초기화합니다.

ResXResourceWriter(String, Func<Type,String>)

리소스를 지정된 파일에 기록하고 정규화된 어셈블리 이름을 사용하여 .NET Framework 4 이전의 .NET Framework 대상 버전이 리소스 어셈블리에 기록되도록 대리자를 설정하는 ResXResourceWriter 클래스의 새 인스턴스를 초기화합니다.

ResXResourceWriter(TextWriter)

지정된 ResXResourceWriter 개체에 쓰는 TextWriter 클래스의 새 인스턴스를 초기화합니다.

ResXResourceWriter(TextWriter, Func<Type,String>)

리소스를 지정된 TextWriter 개체에 기록하고 정규화된 어셈블리 이름을 사용하여 .NET Framework 4 이전의 .NET Framework 대상 버전이 리소스 어셈블리에 기록되도록 대리자를 설정하는 ResXResourceWriter 클래스의 새 인스턴스를 초기화합니다.

필드

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)

적용 대상

추가 정보