AssemblyBuilder.DefineResource Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu derleme için tek başına yönetilen bir kaynak tanımlar.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| DefineResource(String, String, String) |
Varsayılan ortak kaynak özniteliğiyle bu derleme için tek başına yönetilen bir kaynak tanımlar. |
| DefineResource(String, String, String, ResourceAttributes) |
Bu derleme için tek başına yönetilen bir kaynak tanımlar. Yönetilen kaynak için öznitelikler belirtilebilir. |
DefineResource(String, String, String)
Varsayılan ortak kaynak özniteliğiyle bu derleme için tek başına yönetilen bir kaynak tanımlar.
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
Parametreler
- name
- String
Kaynağın mantıksal adı.
- description
- String
Kaynağın metinsel açıklaması.
- fileName
- String
Mantıksal adın eşlendiği fiziksel dosya adı (.resources dosyası). Bu bir yol içermemelidir.
Döndürülenler
ResourceWriter Belirtilen kaynak için bir nesne.
Özel durumlar
name daha önce tanımlanmıştır.
-veya-
Derlemede adlı fileNamebaşka bir dosya var.
-veya-
Uzunluğu name sıfırdır.
-veya-
Uzunluğu fileName sıfırdır.
-veya-
fileName bir yol içerir.
name veya fileName şeklindedir null.
Çağıranın gerekli izni yok.
Örnekler
Aşağıdaki örnek, bir kaynak yazıcısı almak için yöntemini kullanır DefineResource . Örnek, üç kaynak dizesi eklemek için kaynak yazıcıyı kullanır.
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
Açıklamalar
çağrılarak ResourceWriterdöndürülen AddResource ile ayrıntılı kaynaklar eklenebilir.
fileName diğer kalıcı modül, tek başına yönetilen kaynak veya tek başına bildirim dosyası ile aynı olmamalıdır.
Çalışma zamanı, dinamik derleme kaydedildiğinde yöntemini çağırır Close .
Şunlara uygulanır
DefineResource(String, String, String, ResourceAttributes)
Bu derleme için tek başına yönetilen bir kaynak tanımlar. Yönetilen kaynak için öznitelikler belirtilebilir.
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
Parametreler
- name
- String
Kaynağın mantıksal adı.
- description
- String
Kaynağın metinsel açıklaması.
- fileName
- String
Mantıksal adın eşlendiği fiziksel dosya adı (.resources dosyası). Bu bir yol içermemelidir.
- attribute
- ResourceAttributes
Kaynak öznitelikleri.
Döndürülenler
ResourceWriter Belirtilen kaynak için bir nesne.
Özel durumlar
name daha önce tanımlanmış veya derlemede adlı fileNamebaşka bir dosya varsa.
-veya-
Uzunluğu name sıfırdır.
-veya-
Uzunluğu fileName sıfırdır.
-veya-
fileName bir yol içerir.
name veya fileName şeklindedir null.
Çağıranın gerekli izni yok.
Açıklamalar
çağrılarak ResourceWriterdöndürülen AddResource ile ayrıntılı kaynaklar eklenebilir.
fileName diğer kalıcı modül, tek başına yönetilen kaynak veya tek başına bildirim dosyası ile aynı olmamalıdır.
Çalışma zamanı, dinamik derleme kaydedildiğinde yöntemini çağırır Close .