AssemblyBuilder.DefineResource Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar en fristående hanterad resurs för den här sammansättningen.
Överlagringar
| Name | Description |
|---|---|
| DefineResource(String, String, String) |
Definierar en fristående hanterad resurs för den här sammansättningen med standardattributet för offentlig resurs. |
| DefineResource(String, String, String, ResourceAttributes) |
Definierar en fristående hanterad resurs för den här sammansättningen. Attribut kan anges för den hanterade resursen. |
DefineResource(String, String, String)
Definierar en fristående hanterad resurs för den här sammansättningen med standardattributet för offentlig resurs.
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
Parametrar
- name
- String
Resursens logiska namn.
- description
- String
En textbeskrivning av resursen.
- fileName
- String
Det fysiska filnamnet (.resources-filen) som det logiska namnet mappas till. Detta bör inte innehålla en sökväg.
Returer
Ett ResourceWriter objekt för den angivna resursen.
Undantag
name har definierats tidigare.
-eller-
Det finns en annan fil i sammansättningen med namnet fileName.
-eller-
Längden name på är noll.
-eller-
Längden fileName på är noll.
-eller-
fileName innehåller en sökväg.
name eller fileName är null.
Anroparen har inte den behörighet som krävs.
Exempel
I följande exempel används DefineResource metoden för att hämta en resursskrivare. I exemplet används resursskrivaren för att lägga till tre resurssträngar.
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
Kommentarer
Detaljerade resurser kan läggas till med returen ResourceWriter genom att anropa AddResource.
fileName bör inte vara samma som för någon annan beständig modul, fristående hanterad resurs eller den fristående manifestfilen.
Körningen Close anropar metoden när den dynamiska sammansättningen sparas.
Gäller för
DefineResource(String, String, String, ResourceAttributes)
Definierar en fristående hanterad resurs för den här sammansättningen. Attribut kan anges för den hanterade resursen.
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
Parametrar
- name
- String
Resursens logiska namn.
- description
- String
En textbeskrivning av resursen.
- fileName
- String
Det fysiska filnamnet (.resources-filen) som det logiska namnet mappas till. Detta bör inte innehålla en sökväg.
- attribute
- ResourceAttributes
Resursattributen.
Returer
Ett ResourceWriter objekt för den angivna resursen.
Undantag
name har definierats tidigare eller om det finns en annan fil i sammansättningen med namnet fileName.
-eller-
Längden name på är noll.
-eller-
Längden fileName på är noll.
-eller-
fileName innehåller en sökväg.
name eller fileName är null.
Anroparen har inte den behörighet som krävs.
Kommentarer
Detaljerade resurser kan läggas till med returnerade ResourceWriter genom att anropa AddResource.
fileName bör inte vara samma som för någon annan beständig modul, fristående hanterad resurs eller den fristående manifestfilen.
Körningen Close anropar metoden när den dynamiska sammansättningen sparas.