Nyelv

AssemblyBuilder.DefineResource Metódus

Definíció

Önálló felügyelt erőforrást határoz meg ehhez a szerelvényhez.

Túlterhelések

Name Description
DefineResource(String, String, String)

Egy önálló felügyelt erőforrást határoz meg ehhez a szerelvényhez az alapértelmezett nyilvános erőforrás-attribútummal.

DefineResource(String, String, String, ResourceAttributes)

Önálló felügyelt erőforrást határoz meg ehhez a szerelvényhez. A felügyelt erőforráshoz attribútumok adhatók meg.

DefineResource(String, String, String)

Egy önálló felügyelt erőforrást határoz meg ehhez a szerelvényhez az alapértelmezett nyilvános erőforrás-attribútummal.

public:
 System::Resources::IResourceWriter ^ DefineResource(System::String ^ name, System::String ^ description, System::String ^ fileName);
public System.Resources.IResourceWriter DefineResource(string name, string description, string fileName);
member this.DefineResource : string * string * string -> System.Resources.IResourceWriter
Public Function DefineResource (name As String, description As String, fileName As String) As IResourceWriter

Paraméterek

name
String

Az erőforrás logikai neve.

description
String

Az erőforrás szöveges leírása.

fileName
String

Az a fizikai fájlnév (.resources fájl), amelyhez a logikai név megfeleltetve van. Ez nem tartalmazhat elérési utat.

Válaszok

A ResourceWriter megadott erőforrás objektuma.

Kivételek

name korábban már definiálták.

-vagy-

Van egy másik fájl a szerelvényben.fileName

-vagy-

A hossz name nulla.

-vagy-

A hossz fileName nulla.

-vagy-

fileName tartalmaz egy elérési utat.

name vagy fileName az null.

A hívó nem rendelkezik a szükséges engedéllyel.

Példák

Az alábbi példa egy erőforrás-író lekéréséhez használja a DefineResource metódust. A példa az erőforrás-íróval három erőforrás-sztringet ad hozzá.

public static void Main()
{
   AssemblyBuilder myAssembly;
   IResourceWriter myResourceWriter;
   myAssembly = (AssemblyBuilder)CreateAssembly(Thread.GetDomain()).Assembly;

   myResourceWriter = myAssembly.DefineResource("myResourceFile",
      "A sample Resource File", "MyEmitAssembly.MyResource.resources");
   myResourceWriter.AddResource("AddResource 1", "First added resource");
   myResourceWriter.AddResource("AddResource 2", "Second added resource");
   myResourceWriter.AddResource("AddResource 3", "Third added resource");

   myAssembly.DefineVersionInfoResource("AssemblySample", "2:0:0:1",
      "Microsoft Corporation", "@Copyright Microsoft Corp. 1990-2001",
      ".NET is a trademark of Microsoft Corporation");
   myAssembly.Save("MyEmitAssembly.dll");
}

// Create the callee transient dynamic assembly.
private static Type CreateAssembly(AppDomain appDomain)
{
   AssemblyName myAssemblyName = new AssemblyName();
   myAssemblyName.Name = "MyEmitAssembly";
   AssemblyBuilder myAssembly = appDomain.DefineDynamicAssembly(myAssemblyName,
      AssemblyBuilderAccess.Save);
   ModuleBuilder myModule = myAssembly.DefineDynamicModule("EmittedModule",
      "EmittedModule.mod");

   // Define a public class named "HelloWorld" in the assembly.
   TypeBuilder helloWorldClass =
      myModule.DefineType("HelloWorld", TypeAttributes.Public);
   // Define the Display method.
   MethodBuilder myMethod = helloWorldClass.DefineMethod("Display",
      MethodAttributes.Public, typeof(String), null);

   // Generate IL for GetGreeting.
   ILGenerator methodIL = myMethod.GetILGenerator();
   methodIL.Emit(OpCodes.Ldstr, "Display method get called.");
   methodIL.Emit(OpCodes.Ret);

   // Returns the type HelloWorld.
   return(helloWorldClass.CreateType());
}
Public Shared Sub Main()
   Dim myAssembly As AssemblyBuilder
   Dim myResourceWriter As IResourceWriter
   myAssembly = CType(CreateAssembly(Thread.GetDomain()).Assembly, AssemblyBuilder)
   
   myResourceWriter = myAssembly.DefineResource("myResourceFile", "A sample Resource File", _
                                                      "MyEmitAssembly.MyResource.resources")
   myResourceWriter.AddResource("AddResource 1", "First added resource")
   myResourceWriter.AddResource("AddResource 2", "Second added resource")
   myResourceWriter.AddResource("AddResource 3", "Third added resource")
   
   myAssembly.DefineVersionInfoResource("AssemblySample", "2:0:0:1", "Microsoft Corporation", _
         "@Copyright Microsoft Corp. 1990-2001", ".NET is a trademark of Microsoft Corporation")
   myAssembly.Save("MyEmitAssembly.dll")
End Sub

' Create the callee transient dynamic assembly.
Private Shared Function CreateAssembly(myAppDomain As AppDomain) As Type
   Dim myAssemblyName As New AssemblyName()
   myAssemblyName.Name = "MyEmitAssembly"
   Dim myAssembly As AssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName, _
                                                            AssemblyBuilderAccess.Save)
   Dim myModule As ModuleBuilder = myAssembly.DefineDynamicModule("EmittedModule", _
                                                            "EmittedModule.mod")
   
   ' Define a public class named "HelloWorld" in the assembly.
   Dim helloWorldClass As TypeBuilder = myModule.DefineType("HelloWorld", TypeAttributes.Public)
   ' Define the Display method.
   Dim myMethod As MethodBuilder = helloWorldClass.DefineMethod("Display", _
                                 MethodAttributes.Public, GetType(String), Nothing)
   
   ' Generate IL for GetGreeting.
   Dim methodIL As ILGenerator = myMethod.GetILGenerator()
   methodIL.Emit(OpCodes.Ldstr, "Display method get called.")
   methodIL.Emit(OpCodes.Ret)
   ' Returns the type HelloWorld.
   Return helloWorldClass.CreateType()
End Function 'CreateAssembly

Megjegyzések

A visszaadott ResourceWriter erőforrásokkal részletes erőforrások vehetők fel a hívással AddResource.

fileName nem lehet ugyanaz, mint bármely más megőrizhető modul, önálló felügyelt erőforrás vagy önálló jegyzékfájl.

A futtatókörnyezet meghívja a Close metódust a dinamikus szerelvény mentésekor.

A következőre érvényes:

DefineResource(String, String, String, ResourceAttributes)

Önálló felügyelt erőforrást határoz meg ehhez a szerelvényhez. A felügyelt erőforráshoz attribútumok adhatók meg.

public:
 System::Resources::IResourceWriter ^ DefineResource(System::String ^ name, System::String ^ description, System::String ^ fileName, System::Reflection::ResourceAttributes attribute);
public System.Resources.IResourceWriter DefineResource(string name, string description, string fileName, System.Reflection.ResourceAttributes attribute);
member this.DefineResource : string * string * string * System.Reflection.ResourceAttributes -> System.Resources.IResourceWriter
Public Function DefineResource (name As String, description As String, fileName As String, attribute As ResourceAttributes) As IResourceWriter

Paraméterek

name
String

Az erőforrás logikai neve.

description
String

Az erőforrás szöveges leírása.

fileName
String

Az a fizikai fájlnév (.resources fájl), amelyhez a logikai név megfeleltetve van. Ez nem tartalmazhat elérési utat.

attribute
ResourceAttributes

Az erőforrásattribútumok.

Válaszok

A ResourceWriter megadott erőforrás objektuma.

Kivételek

namemár definiálva van, vagy ha van egy másik fájl a szerelvényben.fileName

-vagy-

A hossz name nulla.

-vagy-

A hossz fileName nulla.

-vagy-

fileName tartalmaz egy elérési utat.

name vagy fileName az null.

A hívó nem rendelkezik a szükséges engedéllyel.

Megjegyzések

A visszaküldött ResourceWriter erőforrásokkal részletes erőforrások vehetők fel hívással AddResource.

fileName nem lehet ugyanaz, mint bármely más megőrizhető modul, önálló felügyelt erőforrás vagy önálló jegyzékfájl.

A futtatókörnyezet meghívja a Close metódust a dinamikus szerelvény mentésekor.

A következőre érvényes: