내보내기(0) 인쇄
모두 확장

StronglyTypedResourceBuilder 클래스

업데이트: 2007년 11월

강력한 형식의 리소스를 지원합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System.Resources.Tools
어셈블리:  System.Design(System.Design.dll)

public static class StronglyTypedResourceBuilder
public final class StronglyTypedResourceBuilder
public final class StronglyTypedResourceBuilder

.NET Framework 버전 2.0에서는 강력한 형식의 리소스를 지원합니다. 강력한 형식의 리소스 지원은 정적 읽기 전용(get) 속성 집합이 들어 있는 클래스를 만들어 리소스에 대한 액세스를 캡슐화하는 컴파일 타임 기능입니다. 이 기능을 통해 ResourceManager 클래스의 GetStringGetObject 메서드를 사용하지 않는 다른 방법으로 리소스를 사용할 수 있습니다.

일반적으로 리소스는 응용 프로그램 내의 내용에서 코드를 분리합니다. 이러한 리소스를 만들어 사용하면 지역화할 수 있는 응용 프로그램을 보다 쉽게 개발할 수 있습니다.

.NET Framework에서는 리소스를 만든 후 일반적으로 런타임에 culture별 리소스에 액세스할 수 있도록 하는 메서드가 포함된 ResourceManager 클래스를 통해 리소스를 사용할 수 있습니다. 이러한 프로세스에 대한 자세한 내용은 응용 프로그램의 리소스를 참조하십시오.

강력한 형식의 리소스 지원은 ResourceManager 클래스를 사용하지 않고 리소스를 사용할 수 있는 기능입니다. 기본 기능은 StronglyTypedResourceBuilder 클래스와 리소스 파일 생성기(Resgen.exe)의 해당 명령줄 옵션에서 제공됩니다. Create 메서드의 출력은 입력 매개 변수에서 참조된 리소스와 일치하는 강력한 형식의 속성이 들어 있는 클래스입니다. 이 클래스는 처리된 파일에서 사용할 수 있는 리소스에 대한 강력한 형식의 읽기 전용 액세스를 제공합니다.

다음 코드 예제에서는 로고 비트맵과 응용 프로그램의 이름을 반환하는 속성을 갖는 DemoResources라는 이름의 C# 클래스를 DemoApp 네임스페이스에 생성합니다. 이 코드 예제에서는 demo.resx라는 다음 파일을 사용합니다.

<data name="Logo" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base 64 encoded value omitted here]
</value>
</data>
<data name="MyAppTitle">
<value>Demo Application</value>
</data>

Create 메서드는 다음 인수를 사용하여 호출됩니다.

StronglyTypedResourceBuilder.Create("demo.resx", "DemoResources", "DemoApp", new CSharpCodeProvider(), false, out errors[]) 

Create 메서드는 다음 코드를 생성합니다.

using System;
using System.IO;
using System.Resources;

namespace DemoApp
{
public class DemoResources
{
protected static ResourceManager rm = new ResourceManager(typeof(className));
public static System.Resources.ResourceManager resourceManager 
{ 
get { return rm; }
}
public static System.Drawing.Bitmap Logo
{
get { return (System.Drawing.Bitmap)rm.GetObject(“logo”); }
}
    public static string MyAppTitle
    {
      get { return rm.GetString("MyAppTitle"); }
    }
}
}

응용 프로그램 코드에서는 이 클래스를 다음과 같이 사용할 수 있습니다.

this.Text = DemoResources.MyAppTitle;
System.Drawing.Bitmap bmp = DemoResources.Logo;

System.Object
  System.Resources.Tools.StronglyTypedResourceBuilder

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft