MethodImplAttributes Sabit listesi

Tanım

Bir 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

Name Değer Description
IL 0

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

Managed 0

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

Native 1

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

OPTIL 2

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

CodeTypeMask 3

Kod türüyle ilgili bayrakları belirtir.

Runtime 3

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

ManagedMask 4

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

Unmanaged 4

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

NoInlining 8

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

ForwardRef 16

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

Synchronized 32

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

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.

PreserveSig 128

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

AggressiveInlining 256

Yöntemin mümkün olan her yerde çizili olması gerektiğini belirtir.

AggressiveOptimization 512

Yöntemin mümkün olduğunda en iyi duruma getirilmemesi gerektiğini belirtir.

SecurityMitigations 1024

Bu üye gelecekte kullanılmak üzere ayrılmıştır. .NET Framework 4.8'de kullanıma sunulmuştur.

InternalCall 4096

bir iç çağrı belirtir.

Async 8192
MaxMethodImplVal 65535

Bir aralık denetimi değeri 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'den itibaren kullanılabilir.)

Note

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

Şunlara uygulanır

Ayrıca bkz.