MethodImplAttributes Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 ( |
| 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:
CodeTypeMaskILNativeOPTILRuntime
Yönetilen maskeler:
ManagedMaskUnmanagedManaged
Uygulama bilgileri ve birlikte çalışma maskeleri:
ForwardRefPreserveSigInternalCallSynchronizedNoInliningNoOptimizationMaxMethodImplValSecurityMitigations(.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.