MethodBodyStreamEncoder.AddMethodBody Yöntem

Tanım

Aşırı Yüklemeler

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)

Bir yöntem gövdesini kodlar ve bunu yöntem gövdesi akışına ekler.

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)

Bir yöntem gövdesini kodlar ve sağlanan yönerge kodlayıcısını, en büyük yığın boyutunu, yerel değişkenlerin imza tanıtıcısını, yöntem gövdesi özniteliklerini kullanarak ve yöntemin dinamik yerel bellek havuzundan ayrılıp ayrılmayacağını belirtmeye olanak tanıyarak bunu yöntem gövdesi akışına ekler.

AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes)

Bir yöntem gövdesini kodlar ve sağlanan kod boyutunu, en büyük yığın boyutunu, özel durum bölgelerinin sayısını, yerel değişkenlerin imza tanıtıcısını, yöntem gövdesi özniteliklerini kullanarak ve özel durum bölgelerinin küçük biçimde kodlanıp kodlanmayacağını belirtmeye olanak tanıyarak bunu yöntem gövdesi akışına ekler.

AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)

Bir yöntem gövdesini kodlar ve sağlanan kod boyutunu, en büyük yığın boyutunu, özel durum bölgelerinin sayısını, yerel değişkenlerin imza tanıtıcısını, yöntem gövdesi özniteliklerini kullanarak, özel durum bölgelerinin küçük biçimde kodlanıp kodlanmaması gerektiğini belirtmeye olanak tanıyarak ve yöntemin dinamik yerel bellek havuzundan ayrılıp ayrılmayacağını belirtmeye olanak tanıyarak bunu yöntem gövdesi akışına ekler.

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)

Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs

Bir yöntem gövdesini kodlar ve bunu yöntem gövdesi akışına ekler.

public:
 int AddMethodBody(System::Reflection::Metadata::Ecma335::InstructionEncoder instructionEncoder, int maxStack, System::Reflection::Metadata::StandaloneSignatureHandle localVariablesSignature, System::Reflection::Metadata::Ecma335::MethodBodyAttributes attributes);
public int AddMethodBody (System.Reflection.Metadata.Ecma335.InstructionEncoder instructionEncoder, int maxStack, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes);
public int AddMethodBody (System.Reflection.Metadata.Ecma335.InstructionEncoder instructionEncoder, int maxStack = 8, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals);
member this.AddMethodBody : System.Reflection.Metadata.Ecma335.InstructionEncoder * int * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes -> int
Public Function AddMethodBody (instructionEncoder As InstructionEncoder, maxStack As Integer, localVariablesSignature As StandaloneSignatureHandle, attributes As MethodBodyAttributes) As Integer
Public Function AddMethodBody (instructionEncoder As InstructionEncoder, Optional maxStack As Integer = 8, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals) As Integer

Parametreler

instructionEncoder
InstructionEncoder

Yönerge kodlayıcısı.

maxStack
Int32

En büyük yığın boyutu.

localVariablesSignature
StandaloneSignatureHandle

Yerel değişkenlerin imza tanıtıcısı.

attributes
MethodBodyAttributes

Yöntem gövdesi öznitelikleri.

Döndürülenler

Kodlanmış gövdenin yöntem gövde akışı içindeki uzaklığı.

Özel durumlar

instructionEncoder varsayılan değere sahiptir.

maxStack [0, UInt16.MaxValue] aralığının dışında.

Yönerge akışındaki bir dal tarafından hedeflenen etiket işaretlenmedi veya dal yönergesi ile hedef etiket arasındaki uzaklık yönerge işleneninin boyutuna uymuyor.

Şunlara uygulanır

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)

Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs

Bir yöntem gövdesini kodlar ve sağlanan yönerge kodlayıcısını, en büyük yığın boyutunu, yerel değişkenlerin imza tanıtıcısını, yöntem gövdesi özniteliklerini kullanarak ve yöntemin dinamik yerel bellek havuzundan ayrılıp ayrılmayacağını belirtmeye olanak tanıyarak bunu yöntem gövdesi akışına ekler.

public int AddMethodBody (System.Reflection.Metadata.Ecma335.InstructionEncoder instructionEncoder, int maxStack = 8, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, bool hasDynamicStackAllocation = false);
member this.AddMethodBody : System.Reflection.Metadata.Ecma335.InstructionEncoder * int * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes * bool -> int
Public Function AddMethodBody (instructionEncoder As InstructionEncoder, Optional maxStack As Integer = 8, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, Optional hasDynamicStackAllocation As Boolean = false) As Integer

Parametreler

instructionEncoder
InstructionEncoder

Yönerge kodlayıcısı.

maxStack
Int32

En büyük yığın boyutu.

localVariablesSignature
StandaloneSignatureHandle

Yerel değişkenlerin imza tanıtıcısı.

attributes
MethodBodyAttributes

Yöntem gövdesi öznitelikleri.

hasDynamicStackAllocation
Boolean

true yöntemi dinamik yerel bellek havuzundan ayrılırsa (IL yönergeyi localloc içerir); false aksi takdirde.

Döndürülenler

Kodlanmış gövdenin yöntem gövde akışı içindeki uzaklığı.

Özel durumlar

instructionEncoder varsayılan değere sahiptir.

maxStack [0, UInt16.MaxValue] aralığının dışında.

Yönerge akışındaki bir dal tarafından hedeflenen etiket işaretlenmedi veya dal yönergesi ile hedef etiket arasındaki uzaklık yönerge işleneninin boyutuna uymuyor.

Şunlara uygulanır

AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes)

Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs

Bir yöntem gövdesini kodlar ve sağlanan kod boyutunu, en büyük yığın boyutunu, özel durum bölgelerinin sayısını, yerel değişkenlerin imza tanıtıcısını, yöntem gövdesi özniteliklerini kullanarak ve özel durum bölgelerinin küçük biçimde kodlanıp kodlanmayacağını belirtmeye olanak tanıyarak bunu yöntem gövdesi akışına ekler.

public:
 System::Reflection::Metadata::Ecma335::MethodBodyStreamEncoder::MethodBody AddMethodBody(int codeSize, int maxStack, int exceptionRegionCount, bool hasSmallExceptionRegions, System::Reflection::Metadata::StandaloneSignatureHandle localVariablesSignature, System::Reflection::Metadata::Ecma335::MethodBodyAttributes attributes);
public System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody AddMethodBody (int codeSize, int maxStack, int exceptionRegionCount, bool hasSmallExceptionRegions, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes);
public System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody AddMethodBody (int codeSize, int maxStack = 8, int exceptionRegionCount = 0, bool hasSmallExceptionRegions = true, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals);
member this.AddMethodBody : int * int * int * bool * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes -> System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody
Public Function AddMethodBody (codeSize As Integer, maxStack As Integer, exceptionRegionCount As Integer, hasSmallExceptionRegions As Boolean, localVariablesSignature As StandaloneSignatureHandle, attributes As MethodBodyAttributes) As MethodBodyStreamEncoder.MethodBody
Public Function AddMethodBody (codeSize As Integer, Optional maxStack As Integer = 8, Optional exceptionRegionCount As Integer = 0, Optional hasSmallExceptionRegions As Boolean = true, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals) As MethodBodyStreamEncoder.MethodBody

Parametreler

codeSize
Int32

Yönergeler için ayrılacak bayt sayısı.

maxStack
Int32

En büyük yığın boyutu.

exceptionRegionCount
Int32

Özel durum bölgelerinin sayısı.

hasSmallExceptionRegions
Boolean

true özel durum bölgelerinin küçük biçimde kodlanması gerekiyorsa; false Aksi takdir -de.

localVariablesSignature
StandaloneSignatureHandle

Yerel değişkenlerin imza tanıtıcısı.

attributes
MethodBodyAttributes

Yöntem gövdesi öznitelikleri.

Döndürülenler

Kodlanmış gövdenin yöntem gövde akışı içindeki uzaklığı.

Özel durumlar

codeSize, exceptionRegionCountveya maxStack izin verilen aralığın dışındadır.

Şunlara uygulanır

AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)

Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs
Kaynak:
MethodBodyStreamEncoder.cs

Bir yöntem gövdesini kodlar ve sağlanan kod boyutunu, en büyük yığın boyutunu, özel durum bölgelerinin sayısını, yerel değişkenlerin imza tanıtıcısını, yöntem gövdesi özniteliklerini kullanarak, özel durum bölgelerinin küçük biçimde kodlanıp kodlanmaması gerektiğini belirtmeye olanak tanıyarak ve yöntemin dinamik yerel bellek havuzundan ayrılıp ayrılmayacağını belirtmeye olanak tanıyarak bunu yöntem gövdesi akışına ekler.

public System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody AddMethodBody (int codeSize, int maxStack = 8, int exceptionRegionCount = 0, bool hasSmallExceptionRegions = true, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, bool hasDynamicStackAllocation = false);
member this.AddMethodBody : int * int * int * bool * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes * bool -> System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody
Public Function AddMethodBody (codeSize As Integer, Optional maxStack As Integer = 8, Optional exceptionRegionCount As Integer = 0, Optional hasSmallExceptionRegions As Boolean = true, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, Optional hasDynamicStackAllocation As Boolean = false) As MethodBodyStreamEncoder.MethodBody

Parametreler

codeSize
Int32

Yönergeler için ayrılacak bayt sayısı.

maxStack
Int32

En büyük yığın boyutu.

exceptionRegionCount
Int32

Özel durum bölgelerinin sayısı.

hasSmallExceptionRegions
Boolean

true özel durum bölgelerinin küçük biçimde kodlanması gerekiyorsa; false Aksi takdir -de.

localVariablesSignature
StandaloneSignatureHandle

Yerel değişkenlerin imza tanıtıcısı.

attributes
MethodBodyAttributes

Yöntem gövdesi öznitelikleri.

hasDynamicStackAllocation
Boolean

true yöntemi dinamik yerel bellek havuzundan ayrılırsa ( localloc yönerge); false aksi takdirde.

Döndürülenler

Kodlanmış gövdenin yöntem gövde akışı içindeki uzaklığı.

Özel durumlar

codeSize, exceptionRegionCountveya maxStack izin verilen aralığın dışındadır.

Şunlara uygulanır