ModuleBuilder.DefineInitializedData(String, Byte[], FieldAttributes) 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.
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.
CreateGlobalFunctions() daha önce çağrıldı.
Ö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.