StronglyTypedResourceBuilder Třída

Definice

Poskytuje podporu pro prostředky silného typu. Tato třída se nemůže dědit.

public ref class StronglyTypedResourceBuilder abstract sealed
public static class StronglyTypedResourceBuilder
type StronglyTypedResourceBuilder = class
Public Class StronglyTypedResourceBuilder
Dědičnost
StronglyTypedResourceBuilder

Příklady

Následující příklad vygeneruje třídu s názvem DemoResources , která je napsaná v jazyce C# nebo Visual Basic (v závislosti na zdrojovém kódu příkladu). Tato třída je v DemoApp oboru názvů a má vlastnosti, které vrací rastr loga a název aplikace. Příklad volá metodu CreateResourceFile pro vytvoření potřebného souboru .resw a vyžaduje, aby v aktuálním adresáři příkladu byl nalezen rastrový soubor s názvem Logo.bmp. Příklad kódu používá následující soubor prostředků s názvem demo.resx:

using Microsoft.CSharp;
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Drawing;
using System.IO;
using System.Resources;
using System.Resources.Tools;

public class Example
{
   public static void Main()
   {
      CreateResXFile();
      
      StreamWriter sw = new StreamWriter(@".\DemoResources.cs");
      string[] errors = null;
      CSharpCodeProvider provider = new CSharpCodeProvider();
      CodeCompileUnit code = StronglyTypedResourceBuilder.Create("Demo.resx", "DemoResources", 
                                                                 "DemoApp", provider, 
                                                                 false, out errors);    
      if (errors.Length > 0)
         foreach (var error in errors)
            Console.WriteLine(error); 

      provider.GenerateCodeFromCompileUnit(code, sw, new CodeGeneratorOptions());                                         
      sw.Close();
   }

   private static void CreateResXFile()
   {
      Bitmap logo = new Bitmap(@".\Logo.bmp");

      ResXResourceWriter rw = new ResXResourceWriter(@".\Demo.resx");
      rw.AddResource("Logo", logo); 
      rw.AddResource("AppTitle", "Demo Application");
      rw.Generate();
      rw.Close();
   }
}
Imports System.CodeDom
Imports System.CodeDom.Compiler
Imports System.Drawing
Imports System.IO
Imports System.Resources
Imports System.Resources.Tools

Module Example
   Public Sub Main()
      CreateResXFile()
      
      Dim sw As New StreamWriter(".\DemoResources.vb")
      Dim errors() As String = Nothing
      Dim provider As New VBCodeProvider()
      Dim code As CodeCompileUnit = StronglyTypedResourceBuilder.Create("Demo.resx", "DemoResources", 
                                                                        "DemoApp", provider, 
                                                                        false, errors)    
      If errors.Length > 0 Then
         For Each [error] In errors
            Console.WriteLine([error]) 
         Next
      End If
      provider.GenerateCodeFromCompileUnit(code, sw, New CodeGeneratorOptions())                                         
      sw.Close()
   End Sub
   
   Private Sub CreateResXFile()
      Dim logo As New Bitmap(".\Logo.bmp")

      Dim rw As New ResXResourceWriter(".\Demo.resx")
      rw.AddResource("Logo", logo) 
      rw.AddResource("AppTitle", "Demo Application")
      rw.Generate()
      rw.Close()
   End Sub
End Module

Kód aplikace pak může použít třídu následujícím způsobem:

this.Text = DemoApp.DemoResources.AppTitle;
System.Drawing.Bitmap bmp = DemoApp.DemoResources.Logo;
Me.Text = DemoApp.DemoResources.AppTitle
Dim bmp As System.Drawing.Bitmap = DemoApp.DemoResources.Logo

Poznámky

Prostředky obvykle oddělují kód od obsahu v aplikaci. Vytváření a využívání těchto prostředků usnadňuje vývoj lokalizovatelných aplikací. V rozhraní .NET Framework jsou prostředky obvykle využívány pomocí ResourceManager třídy , která obsahuje metody, které poskytují přístup k prostředkům specifické pro jazykovou verzi za běhu. Další informace o vytváření a využívání prostředků najdete v tématu Prostředky v desktopových aplikacích.

Podpora prostředků silného typu je funkce při kompilaci, která zapouzdřuje přístup k prostředkům vytvořením tříd, které obsahují sadu statických vlastností jen pro čtení (get). To poskytuje alternativní způsob, jak využívat prostředky místo volání ResourceManager.GetString metod a ResourceManager.GetObject .

Základní funkce pro podporu prostředků silného StronglyTypedResourceBuilder typu poskytuje třída (stejně jako možnost příkazového /str řádku v Resgen.exe (Generátor souborů prostředků)). Výstupem metody je třída, která obsahuje vlastnosti silného Create typu, které odpovídají prostředkům, na které odkazuje vstupní parametr. Tato třída poskytuje přístup jen pro čtení k prostředkům, které jsou k dispozici ve zpracovaném souboru.

Metody

Create(IDictionary, String, String, CodeDomProvider, Boolean, String[])

Vygeneruje soubor třídy, který obsahuje vlastnosti silného typu, které odpovídají prostředkům odkazovaným v zadané kolekci.

Create(IDictionary, String, String, String, CodeDomProvider, Boolean, String[])

Vygeneruje soubor třídy, který obsahuje vlastnosti silného typu, které odpovídají prostředkům odkazovaným v zadané kolekci.

Create(String, String, String, CodeDomProvider, Boolean, String[])

Vygeneruje soubor třídy, který obsahuje vlastnosti silného typu, které odpovídají prostředkům v zadaném souboru .resx.

Create(String, String, String, String, CodeDomProvider, Boolean, String[])

Vygeneruje soubor třídy, který obsahuje vlastnosti silného typu, které odpovídají prostředkům v zadaném souboru .resx.

VerifyResourceName(String, CodeDomProvider)

Vygeneruje platný řetězec prostředku na základě zadaného vstupního řetězce a zprostředkovatele kódu.

Platí pro