MethodImplAttributes Enumeración

Definición

Especifica marcas para los atributos de una implementación de método.

Esta enumeración admite una combinación bit a bit de sus valores de miembro.

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

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
Herencia
MethodImplAttributes
Atributos

Campos

Nombre Valor Description
IL 0

Especifica que la implementación del método está en Microsoft lenguaje intermedio (MSIL).

Managed 0

Especifica que el método se implementa en código administrado.

Native 1

Especifica que la implementación del método es nativa.

OPTIL 2

Especifica que la implementación del método está en lenguaje intermedio optimizado (OPTIL).

CodeTypeMask 3

Especifica marcas sobre el tipo de código.

Runtime 3

Especifica que el tiempo de ejecución proporciona la implementación del método.

ManagedMask 4

Especifica si el método se implementa en código administrado o no administrado.

Unmanaged 4

Especifica que el método se implementa en código no administrado.

NoInlining 8

Especifica que el método no se puede insertar.

ForwardRef 16

Especifica que el método no está definido.

Synchronized 32

Especifica que el método está subproceso único a través del cuerpo. Los métodos estáticos (Shared en Visual Basic) bloquean el tipo, mientras que los métodos de instancia se bloquean en la instancia. También puede usar la instrucción C# lock o la instrucción Visual Basic SyncLock para este fin.

NoOptimization 64

Especifica que el compilador Just-In-Time (JIT) no optimiza el método o la generación de código nativo (consulte Ngen.exe) al depurar posibles problemas de generación de código.

PreserveSig 128

Especifica que la firma del método se exporta exactamente como se declara.

AggressiveInlining 256

Especifica que el método debe estar insertado siempre que sea posible.

AggressiveOptimization 512

Especifica que el método debe optimizarse siempre que sea posible.

SecurityMitigations 1024

Este miembro está reservado para uso futuro. Se introdujo en .NET Framework 4.8.

InternalCall 4096

Especifica una llamada interna.

Async 8192
MaxMethodImplVal 65535

Especifica un valor de comprobación de intervalo.

Comentarios

Los atributos se combinan mediante la operación OR bit a bit como se indica a continuación:

Máscaras de implementación de código:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

Máscaras administradas:

  • ManagedMask

  • Unmanaged

  • Managed

Información de implementación e máscaras de interoperabilidad:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations (disponible a partir de .NET Framework 4.8).

Note

No se recomienda bloquear en la instancia o en el tipo , como con la Synchronized marca , para los tipos públicos, porque el código distinto del suyo puede tomar bloqueos en los tipos y instancias públicos. Esto puede provocar interbloqueos u otros problemas de sincronización.

Se aplica a

Consulte también