MethodImplAttributes Enumeración

Definición

Especifica las marcas de 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

AggressiveInlining 256

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

AggressiveOptimization 512

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

CodeTypeMask 3

Especifica las marcas relacionadas con el tipo de código.

ForwardRef 16

Especifica que el método no está definido.

IL 0

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

InternalCall 4096

Especifica una llamada interna.

Managed 0

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

ManagedMask 4

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

MaxMethodImplVal 65535

Especifica un valor de comprobación de intervalo.

Native 1

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

NoInlining 8

Especifica que el método no se puede insertar.

NoOptimization 64

Especifica que el método no está optimizado por el compilador just-in-time (JIT) o por la generación de código nativo (consulte Ngen.exe) al depurar los posibles problemas de generación de código.

OPTIL 2

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

PreserveSig 128

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

Runtime 3

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

SecurityMitigations 1024

Este miembro se reserva para uso futuro. Se presentó en .NET Framework 4.8.

Synchronized 32

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

Unmanaged 4

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

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).

Nota

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 tipos y instancias públicos. Esto puede provocar interbloqueos u otros problemas de sincronización.

Se aplica a

Consulte también