MethodImplAttributes Sabit listesi

Tanım

Yöntem uygulamasının öznitelikleri için bayrakları belirtir.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

public enum class MethodImplAttributes
public enum MethodImplAttributes
[System.Flags]
[System.Serializable]
public enum MethodImplAttributes
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplAttributes
type MethodImplAttributes = 
[<System.Flags>]
[<System.Serializable>]
type MethodImplAttributes = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplAttributes = 
Public Enum MethodImplAttributes
Devralma
MethodImplAttributes
Öznitelikler

Alanlar

AggressiveInlining 256

Yöntemin mümkün olan her yerde inlined olarak belirtilmesi gerektiğini belirtir.

AggressiveOptimization 512

Mümkün olduğunda yönteminin en iyi duruma getirilmemesi gerektiğini belirtir.

CodeTypeMask 3

Kod türüyle ilgili bayrakları belirtir.

ForwardRef 16

yönteminin tanımlanmadığını belirtir.

IL 0

Yöntem uygulamasının Microsoft ara dilinde (MSIL) olduğunu belirtir.

InternalCall 4096

bir iç çağrı belirtir.

Managed 0

yönteminin yönetilen kodda uygulandığını belirtir.

ManagedMask 4

Yöntemin yönetilen veya yönetilmeyen kodda uygulanıp uygulanmadığını belirtir.

MaxMethodImplVal 65535

Bir aralık denetimi değeri belirtir.

Native 1

Yöntem uygulamasının yerel olduğunu belirtir.

NoInlining 8

Yönteminin çizili olamayacağını belirtir.

NoOptimization 64

Olası kod oluşturma sorunlarının hatalarını ayıklarken yönteminin tam zamanında (JIT) derleyicisi veya yerel kod oluşturma (bkz. Ngen.exe) tarafından iyileştirilmediğini belirtir.

OPTIL 2

Yöntem uygulamasının İyileştirilmiş Ara Dilde (OPTIL) olduğunu belirtir.

PreserveSig 128

Yöntem imzasının tam olarak bildirilen şekilde dışarı aktarıldığını belirtir.

Runtime 3

Yöntem uygulamasının çalışma zamanı tarafından sağlandığını belirtir.

SecurityMitigations 1024

Bu üye gelecekte kullanılmak üzere ayrılmıştır. .NET Framework 4.8'de tanıtıldı.

Synchronized 32

yönteminin gövde üzerinden tek iş parçacıklı olduğunu belirtir. Statik yöntemler (Shared Visual Basic'te) türüne, örnek yöntemleri ise örneğe kilitleniyor. Bu amaçla C# lock deyimini veya Visual Basic SyncLock deyimini de kullanabilirsiniz.

Unmanaged 4

yönteminin yönetilmeyen kodda uygulandığını belirtir.

Açıklamalar

Öznitelikler bit düzeyinde OR işlemi kullanılarak aşağıdaki gibi birleştirilir:

Kod uygulama maskeleri:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

Yönetilen maskeler:

  • ManagedMask

  • Unmanaged

  • Managed

Uygulama bilgileri ve birlikte çalışma maskeleri:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations(.NET Framework 4.8 ile başlayarak kullanılabilir.)

Not

Örneğin veya türün bayrağında olduğu gibi Synchronized kilitlenmesi genel türler için önerilmez, çünkü sizinkinden başka bir kod ortak türlerde ve örneklerde kilit alabilir. Bu, kilitlenmelere veya diğer eşitleme sorunlarına neden olabilir.

Şunlara uygulanır

Ayrıca bkz.