Aracılığıyla paylaş


MethodImplOptions Sabit listesi

Tanım

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
MethodImplOptions
Öznitelikler

Alanlar

AggressiveInlining 256

Mümkünse yöntemin inlined olması gerekir.

Bu özniteliğin gereksiz kullanımı performansı düşürebilir. özniteliği, daha yavaş oluşturulan kodla sonuçlanacak 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 en iyi duruma getirilmiş olması gereken kodu içerir.

Bu özniteliği kullanmak 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 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çine alınamaz. 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 bildirilen şekilde dışarı aktarılır.

SecurityMitigations 1024

Bu üye gelecekte kullanılmak üzere ayrılmıştır. .NET Framework 4.8'de kullanıma sunulmuştur.

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ği veya türü üzerinde, bayrağında Synchronized olduğu gibi kilitleme, ortak türler için önerilmez, çünkü kendi kod dışındaki kodlar ortak türlerde ve örneklerde kilit alabilir. Bu kilitlenmelere veya diğer eşitleme sorunlarına neden olabilir.

Şunlara uygulanır