AssemblyBuilder.DefineResource Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ö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.