MethodImplOptions 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öntemin nasıl uygulandığının ayrıntılarını tanımlayan sabitleri belirtir.
Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.
public enum class MethodImplOptions
[System.Flags]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
[<System.Flags>]
type MethodImplOptions =
[<System.Flags>]
[<System.Serializable>]
type MethodImplOptions =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplOptions =
Public Enum MethodImplOptions
- Devralma
- Öznitelikler
Alanlar
AggressiveInlining | 256 | Mümkünse yöntemin içi çizilmelidir. Bu özniteliğin gereksiz kullanımı performansı düşürebilir. özniteliği, daha yavaş oluşturulan koda neden olacak uygulama sınırlarıyla karşılaşılmasına neden olabilir. Bu özniteliği uygulamanın yararlı olduğundan emin olmak için her zaman performansı ölçün. |
AggressiveOptimization | 512 | yöntemi her zaman performans için iyileştirilmiş olması gereken kodu içerir. Bu özniteliğin kullanılması nadiren uygundur. Bu özniteliği uygulayan yöntemler katmanlı derlemenin ilk katmanını atlar ve bu nedenle katmanlı derlemeyi kullanan iyileştirmelerden yararlanmaz. Bu iyileştirmeler , dinamik PGO'ları ve başlatılan sınıfları temel alan iyileştirmeleri içerir. Bu özniteliğin kullanılması bellek kullanımını da artırabilir. Bu özniteliği uygulamanın yararlı olduğundan emin olmak için her zaman performansı ölçün. |
ForwardRef | 16 | yöntemi bildirilir, ancak uygulaması başka bir yerde sağlanır. |
InternalCall | 4096 | çağrısı iç, yani ortak dil çalışma zamanı içinde uygulanan bir yöntemi çağırır. |
NoInlining | 8 | Yöntemin içi çizilemez. Inlining, yöntem çağrısının yöntem gövdesiyle değiştirildiği bir iyileştirmedir. |
NoOptimization | 64 | Yöntem, olası kod oluşturma sorunlarının hatalarını ayıklarken tam zamanında (JIT) derleyicisi veya yerel kod oluşturma (bkz. Ngen.exe) tarafından iyileştirilmemiştir. |
PreserveSig | 128 | Yöntem imzası tam olarak bildirildiğinde dışarı aktarılır. |
SecurityMitigations | 1024 | Bu üye gelecekte kullanılmak üzere ayrılmıştır. .NET Framework 4.8'de tanıtıldı. |
Synchronized | 32 | Yöntemi bir kerede yalnızca bir iş parçacığı tarafından yürütülebilir. Statik yöntemler türüne, örnek yöntemleri ise örneğe kilitler. Örnek işlevlerinin herhangi birinde yalnızca bir iş parçacığı yürütülebilir ve sınıfın statik işlevlerinin herhangi birinde yalnızca bir iş parçacığı yürütülebilir. |
Unmanaged | 4 | yöntemi yönetilmeyen kodda uygulanır. |
Açıklamalar
Bu numaralandırma özniteliğiyle MethodImplAttribute birlikte kullanılır.
Bit düzeyinde OR işlecini kullanarak birden çok MethodImplOptions değer belirtebilirsiniz.
Not
Örneğin veya türün bayrağında olduğu gibi Synchronized
kilitlenmesi genel türler için önerilmez, çünkü sizinkinden başka bir kod ortak türlerde ve örneklerde kilit alabilir. Bu, kilitlenmelere veya diğer eşitleme sorunlarına neden olabilir.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin