ResourceReader 생성자

정의

ResourceReader 클래스의 새 인스턴스를 초기화합니다.

오버로드

Name Description
ResourceReader(Stream)

지정된 스트림에 대한 클래스의 ResourceReader 새 인스턴스를 초기화합니다.

ResourceReader(String)

지정된 명명된 리소스 파일에 대한 클래스의 ResourceReader 새 인스턴스를 초기화합니다.

설명

Important

신뢰할 수 없는 데이터와 함께 이 형식의 인스턴스를 사용하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터에서만 이 개체를 사용합니다. 자세한 내용은 모든 입력 유효성 검사참조하세요.

ResourceReader(Stream)

Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs

지정된 스트림에 대한 클래스의 ResourceReader 새 인스턴스를 초기화합니다.

public:
 ResourceReader(System::IO::Stream ^ stream);
public ResourceReader(System.IO.Stream stream);
[System.Security.SecurityCritical]
public ResourceReader(System.IO.Stream stream);
new System.Resources.ResourceReader : System.IO.Stream -> System.Resources.ResourceReader
[<System.Security.SecurityCritical>]
new System.Resources.ResourceReader : System.IO.Stream -> System.Resources.ResourceReader
Public Sub New (stream As Stream)

매개 변수

stream
Stream

리소스를 읽기 위한 입력 스트림입니다.

특성

예외

매개 변수를 stream 읽을 수 없습니다.

매개 변수는 stream .입니다 null.

에 액세스하는 stream동안 I/O 오류가 발생했습니다.

예제

이 섹션의 예제에서는 애플리케이션에서 사용하는 리소스를 정의하기 위해 명명된 PatientForm.txt 다음 .txt 파일을 사용합니다.

Title="Top Pet Animal Clinic"
Label1="Patient Number:"
Label2="Pet Name:"
Label3="Species:"
Label4="Breed:"
Label5="Date of Birth:"
Label6="Age:"
Label7="Owner:"
Label8="Address:"
Label9="Home Phone:"
Label10="Work Phone:"
Label11="Mobile Phone:"

다음 명령을 실행하여 .txt 파일을 .resources 파일로 컴파일할 수 있습니다.

resgen PatientForm.txt

다음 예제에서는 리소스 파일이 애플리케이션의 실행 코드를 포함하는 어셈블리에 포함되어 있다고 가정합니다. 현재 실행 중인 어셈블리에서 명명된 PatientForm.resources 리소스 파일을 검색하고 각 리소스의 이름과 값을 표시합니다.

using System;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Resources;

public class Example
{
   public static void Main()
   {
      var assem = typeof(Example).Assembly;
      var fs = assem.GetManifestResourceStream("PatientForm.resources");
      var rr = new ResourceReader(fs);
      IDictionaryEnumerator dict = rr.GetEnumerator();
      int ctr = 0;

      while (dict.MoveNext()) {
         ctr++;
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value);
      }
      rr.Close();
   }
}
// The example displays the following output:
//       01: Label3 = "Species:"
//       02: Label2 = "Pet Name:"
//       03: Label1 = "Patient Number:"
//       04: Label7 = "Owner:"
//       05: Label6 = "Age:"
//       06: Label5 = "Date of Birth:"
//       07: Label4 = "Breed:"
//       08: Label9 = "Home Phone:"
//       09: Label8 = "Address:"
//       10: Title = "Top Pet Animal Clinic"
//       11: Label10 = "Work Phone:"
//       12: Label11 = "Mobile Phone:"
Imports System.Collections
Imports System.IO
Imports System.Reflection
Imports System.Resources

Module Example
   Public Sub Main()
      Dim assem As Assembly = GetType(Example).Assembly
      Dim fs As Stream = assem.GetManifestResourceStream("PatientForm.resources")
      Dim rr As New ResourceReader(fs)
      Dim dict As IDictionaryEnumerator = rr.GetEnumerator
      Dim ctr As Integer

      Do While dict.MoveNext()
         ctr += 1
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value)
      Loop

      rr.Close()
   End Sub
End Module
' The example displays the following output:
'       01: Label3 = "Species:"
'       02: Label2 = "Pet Name:"
'       03: Label1 = "Patient Number:"
'       04: Label7 = "Owner:"
'       05: Label6 = "Age:"
'       06: Label5 = "Date of Birth:"
'       07: Label4 = "Breed:"
'       08: Label9 = "Home Phone:"
'       09: Label8 = "Address:"
'       10: Title = "Top Pet Animal Clinic"
'       11: Label10 = "Work Phone:"
'       12: Label11 = "Mobile Phone:"

C# 예제의 이름이 지정 Example.cs되면 다음 명령을 사용하여 컴파일할 수 있습니다.

csc Example.cs /res:PatientForm.resources

Visual Basic 예제의 이름이 Example.vb이면 다음 명령을 사용하여 컴파일할 수 있습니다.

vbc Example.vb /res:PatientForm.resources

설명

ResourceReader(Stream) 생성자는 독립 실행형 .resources 파일 또는 어셈블리에 포함된 .resources 파일에서 리소스를 검색하는 개체를 인스턴스화 ResourceReader 합니다. 독립 실행형 .resources 파일에서 읽으려면 개체를 Stream 인스턴스화하고 생성자에 전달 ResourceReader(Stream) 합니다. 포함된 .resources 파일에서 읽으려면 .resources 파일의 대/소문자 구분 이름을 사용하여 메서드를 호출 Assembly.GetManifestResourceStream 하고 반환된 Stream 개체를 ResourceReader(Stream) 생성자에 전달합니다.

Important

신뢰할 수 없는 데이터와 함께 이 형식의 인스턴스를 사용하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터에서만 이 개체를 사용합니다. 자세한 내용은 모든 입력 유효성 검사참조하세요.

추가 정보

적용 대상

ResourceReader(String)

Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs

지정된 명명된 리소스 파일에 대한 클래스의 ResourceReader 새 인스턴스를 초기화합니다.

public:
 ResourceReader(System::String ^ fileName);
public ResourceReader(string fileName);
new System.Resources.ResourceReader : string -> System.Resources.ResourceReader
Public Sub New (fileName As String)

매개 변수

fileName
String

읽을 리소스 파일의 경로 및 이름입니다. filename 대/소문자를 구분하지 않습니다.

예외

매개 변수는 fileName .입니다 null.

파일을 찾을 수 없습니다.

I/O 오류가 발생했습니다.

리소스 파일의 형식이 잘못되었습니다. 예를 들어 파일 길이는 0일 수 있습니다.

예제

이 섹션의 예제에서는 애플리케이션에서 사용하는 리소스를 정의하기 위해 명명된 PatientForm.txt 다음 .txt 파일을 사용합니다.

Title="Top Pet Animal Clinic"
Label1="Patient Number:"
Label2="Pet Name:"
Label3="Species:"
Label4="Breed:"
Label5="Date of Birth:"
Label6="Age:"
Label7="Owner:"
Label8="Address:"
Label9="Home Phone:"
Label10="Work Phone:"
Label11="Mobile Phone:"

다음 명령을 실행하여 이 .txt 파일을 .resources 파일로 컴파일할 수 있습니다.

resgen PatientForm.txt

다음 예제에서는 리소스를 열거하고 각 리소스 PatientForm.resources 의 이름과 값을 표시합니다.

using System;
using System.Collections;
using System.Resources;

public class Example
{
   public static void Main()
   {
      var rr = new ResourceReader("PatientForm.resources");
      IDictionaryEnumerator dict = rr.GetEnumerator();
      int ctr = 0;

      while (dict.MoveNext()) {
         ctr++;
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value);
      }

      rr.Close();
   }
}
// The example displays the following output:
//       01: Label3 = "Species:"
//       02: Label2 = "Pet Name:"
//       03: Label1 = "Patient Number:"
//       04: Label7 = "Owner:"
//       05: Label6 = "Age:"
//       06: Label5 = "Date of Birth:"
//       07: Label4 = "Breed:"
//       08: Label9 = "Home Phone:"
//       09: Label8 = "Address:"
//       10: Title = "Top Pet Animal Clinic"
//       11: Label10 = "Work Phone:"
//       12: Label11 = "Mobile Phone:"
Imports System.Collections
Imports System.Resources

Module Example
   Public Sub Main()
      Dim rr As New ResourceReader("PatientForm.resources")
      Dim dict As IDictionaryEnumerator = rr.GetEnumerator
      Dim ctr As Integer

      Do While dict.MoveNext()
         ctr += 1
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value)
      Loop
      
      rr.Close()
   End Sub
End Module
' The example displays the following output:
'       01: Label3 = "Species:"
'       02: Label2 = "Pet Name:"
'       03: Label1 = "Patient Number:"
'       04: Label7 = "Owner:"
'       05: Label6 = "Age:"
'       06: Label5 = "Date of Birth:"
'       07: Label4 = "Breed:"
'       08: Label9 = "Home Phone:"
'       09: Label8 = "Address:"
'       10: Title = "Top Pet Animal Clinic"
'       11: Label10 = "Work Phone:"
'       12: Label11 = "Mobile Phone:"

설명

ResourceReader(String) 생성자는 독립 실행형 .resources 파일에서 리소스를 검색하는 개체를 인스턴스화 ResourceReader 합니다. 포함된 .resources 파일에서 리소스를 검색하려면 생성자를 사용합니다 ResourceReader(Stream) .

Important

신뢰할 수 없는 데이터와 함께 이 형식의 인스턴스를 사용하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터에서만 이 개체를 사용합니다. 자세한 내용은 모든 입력 유효성 검사참조하세요.

적용 대상