StronglyTypedResourceBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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. |