MethodImplOptions Wyliczenie

Definicja

Definiuje szczegóły sposobu implementacji metody.Defines the details of how a method is implemented.

To wyliczenie ma atrybut FlagsAttribute zezwalający na bitową kombinację jego wartości składowych.

public enum class MethodImplOptions
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum MethodImplOptions
type MethodImplOptions = 
Public Enum MethodImplOptions
Dziedziczenie
MethodImplOptions
Atrybuty

Pola

AggressiveInlining 256

Metoda powinna być przedkreślona, jeśli to możliwe.The method should be inlined if possible.

AggressiveOptimization 512

Metoda zawiera ścieżkę gorącą i powinna być zoptymalizowana.The method contains a hot path and should be optimized.

ForwardRef 16

Metoda jest zadeklarowana, ale jej implementacja została udostępniona w innym miejscu.The method is declared, but its implementation is provided elsewhere.

InternalCall 4096

Wywołanie jest wewnętrzne, czyli wywołuje metodę, która jest zaimplementowana w środowisku uruchomieniowym języka wspólnego.The call is internal, that is, it calls a method that is implemented within the common language runtime.

NoInlining 8

Metoda nie może być wbudowana.The method cannot be inlined. Dekreślenie jest optymalizacją, przez którą wywołanie metody jest zastępowane treścią metody.Inlining is an optimization by which a method call is replaced with the method body.

NoOptimization 64

Metoda nie jest optymalizowana przez kompilator just-in-Time (JIT) lub natywne generowanie kodu (zobacz Ngen. exe) podczas debugowania możliwych problemów z generowaniem kodu.The method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems.

PreserveSig 128

Podpis metody jest eksportowany dokładnie jako zadeklarowany.The method signature is exported exactly as declared.

SecurityMitigations 1024

Kompilator JIT powinien szukać atrybutów ograniczenia zabezpieczeń, takich jak System.Runtime.CompilerServices.SecurityMitigationsAttributezdefiniowane przez użytkownika.The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. W przypadku znalezienia, kompilator JIT stosuje wszelkie pokrewne środki zaradcze zabezpieczeń.If found, the JIT compiler applies any related security mitigations. Dostępne począwszy od .NET Framework 4,8.Available starting with .NET Framework 4.8.

Synchronized 32

Metoda może być wykonywana tylko przez jeden wątek naraz.The method can be executed by only one thread at a time. Zablokuj metody statyczne w typie, podczas gdy metody wystąpienia są blokowane w wystąpieniu.Static methods lock on the type, whereas instance methods lock on the instance. Tylko jeden wątek można wykonać w dowolnej funkcji wystąpienia, a tylko jeden wątek można wykonać w dowolnej funkcji statycznej klasy.Only one thread can execute in any of the instance functions, and only one thread can execute in any of a class's static functions.

Unmanaged 4

Metoda jest zaimplementowana w kodzie niezarządzanym.The method is implemented in unmanaged code.

Uwagi

To wyliczenie jest używane z atrybutem MethodImplAttribute.This enumeration is used with the MethodImplAttribute attribute.

Można określić wiele wartości MethodImplOptions przy użyciu operatora bitowego or.You can specify multiple MethodImplOptions values by using the bitwise OR operator.

Uwaga

Zablokowanie wystąpienia lub typu, podobnie jak w przypadku flagi Synchronize, nie jest zalecane w przypadku typów publicznych, ponieważ kod inny niż własny może być blokowany na publicznych typach i wystąpieniach.Locking on the instance or on the type, as with the Synchronized flag, is not recommended for public types, because code other than your own can take locks on public types and instances. Może to spowodować zakleszczenie lub inne problemy z synchronizacją.This might cause deadlocks or other synchronization problems.

Dotyczy