MethodImplAttributes Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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 ( |
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.