ModuleBuilder.DefineInitializedData(String, Byte[], FieldAttributes) Yöntem

Tanım

Taşınabilir yürütülebilir dosya (PE) dosyasının .sdata bölümünde başlatılan bir veri alanı tanımlar.

public:
 System::Reflection::Emit::FieldBuilder ^ DefineInitializedData(System::String ^ name, cli::array <System::Byte> ^ data, System::Reflection::FieldAttributes attributes);
public System.Reflection.Emit.FieldBuilder DefineInitializedData(string name, byte[] data, System.Reflection.FieldAttributes attributes);
member this.DefineInitializedData : string * byte[] * System.Reflection.FieldAttributes -> System.Reflection.Emit.FieldBuilder
Public Function DefineInitializedData (name As String, data As Byte(), attributes As FieldAttributes) As FieldBuilder

Parametreler

name
String

Verilere başvurmak için kullanılan ad. name katıştırılmış null içeremez.

data
Byte[]

Verilerin ikili büyük nesnesi (BLOB).

attributes
FieldAttributes

Alanının öznitelikleri. Varsayılan değer: Static.

Döndürülenler

Verilere başvurmak için bir alan.

Özel durumlar

Uzunluğu name sıfırdır.

-veya-

boyutu data sıfıra eşit veya sıfırdan küçük ya da 0x3f0000 eşit veya ondan büyüktür.

name veya data şeklindedir null.

Örnekler

Aşağıdaki örnek, DefineInitializedData taşınabilir yürütülebilir dosya (PE) dosyasının .sdata bölümünde başlatılan bir veri alanı tanımlamak için yöntemini kullanır.

AppDomain currentDomain;
AssemblyName myAssemblyName;

// Get the current application domain for the current thread.
currentDomain = AppDomain.CurrentDomain;
myAssemblyName = new AssemblyName();
myAssemblyName.Name = "TempAssembly";

// Define a dynamic assembly in the 'currentDomain'.
myAssemblyBuilder =
   currentDomain.DefineDynamicAssembly
               (myAssemblyName, AssemblyBuilderAccess.Run);

// Define a dynamic module in "TempAssembly" assembly.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule");

// Define the initialized data field in the .sdata section of the PE file.
FieldBuilder myFieldBuilder =
    myModuleBuilder.DefineInitializedData("MyField",new byte[]{01,00,01},
               FieldAttributes.Static|FieldAttributes.Public);
 myModuleBuilder.CreateGlobalFunctions();
Dim currentDomain As AppDomain
Dim myAssemblyName As AssemblyName
' Get the current application domain for the current thread.
currentDomain = AppDomain.CurrentDomain
myAssemblyName = New AssemblyName()
myAssemblyName.Name = "TempAssembly"
' Define a dynamic assembly in the 'currentDomain'.
myAssemblyBuilder = _
      currentDomain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run)
' Define a dynamic module in "TempAssembly" assembly.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule")
' Define the initialized data field in the .sdata section of the PE file.
Dim myFieldBuilder As FieldBuilder = _
      myModuleBuilder.DefineInitializedData("MyField", New Byte() {1, 0, 1}, _
      FieldAttributes.Static Or FieldAttributes.Public)
myModuleBuilder.CreateGlobalFunctions()

Açıklamalar

Static otomatik olarak içinde attributesbulunur.

Bu yöntem tarafından tanımlanan veriler, yöntem çağrılana CreateGlobalFunctions kadar oluşturulmaz.

Şunlara uygulanır