AssemblyBuilder.DefineResource Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define um recurso gerido autónomo para esta assembleia.
Sobrecargas
| Name | Description |
|---|---|
| DefineResource(String, String, String) |
Define um recurso gerido autónomo para esta assembleia com o atributo de recurso público predefinido. |
| DefineResource(String, String, String, ResourceAttributes) |
Define um recurso gerido autónomo para esta assembleia. Os atributos podem ser especificados para o recurso gerido. |
DefineResource(String, String, String)
Define um recurso gerido autónomo para esta assembleia com o atributo de recurso público predefinido.
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
Parâmetros
- name
- String
O nome lógico do recurso.
- description
- String
Uma descrição textual do recurso.
- fileName
- String
O nome físico do ficheiro (ficheiro .resources) para o qual o nome lógico está mapeado. Isto não deve incluir um caminho.
Devoluções
Um ResourceWriter objeto para o recurso especificado.
Exceções
name já foi definido anteriormente.
-ou-
Existe outro ficheiro no assembly chamado fileName.
-ou-
O comprimento de name é zero.
-ou-
O comprimento de fileName é zero.
-ou-
fileName inclui um caminho.
name ou fileName é null.
O interlocutor não tem a permissão necessária.
Exemplos
O exemplo seguinte utiliza o DefineResource método para obter um escritor de recursos. O exemplo usa o escritor de recursos para adicionar três cadeias de recursos.
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
Observações
Os recursos de grão fino podem ser adicionados com os retornados ResourceWriter chamando AddResource.
fileName não deve ser igual ao de qualquer outro módulo persistente, recurso gerido autónomo ou ficheiro manifesto autónomo.
O runtime chama o Close método quando o conjunto dinâmico é guardado.
Aplica-se a
DefineResource(String, String, String, ResourceAttributes)
Define um recurso gerido autónomo para esta assembleia. Os atributos podem ser especificados para o recurso gerido.
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
Parâmetros
- name
- String
O nome lógico do recurso.
- description
- String
Uma descrição textual do recurso.
- fileName
- String
O nome físico do ficheiro (ficheiro .resources) para o qual o nome lógico está mapeado. Isto não deve incluir um caminho.
- attribute
- ResourceAttributes
Os atributos de recursos.
Devoluções
Um ResourceWriter objeto para o recurso especificado.
Exceções
name foi previamente definido ou se houver outro ficheiro na assembly chamado fileName.
-ou-
O comprimento de name é zero.
-ou-
O comprimento de fileName é zero.
-ou-
fileName inclui um caminho.
name ou fileName é null.
O interlocutor não tem a permissão necessária.
Observações
Recursos de grão fino podem ser adicionados com os retornados ResourceWriter chamando AddResource.
fileName não deve ser igual ao de qualquer outro módulo persistente, recurso gerido autónomo ou ficheiro manifesto autónomo.
O runtime chama o Close método quando o conjunto dinâmico é guardado.