System.Runtime.CompilerServices 命名空間

提供編譯器寫入器的功能,該編譯器寫入器會使用 Managed 程式碼,在中繼資料中指定會影響 Common Language Runtime 之執行階段行為的屬性。

類別

AccessedThroughPropertyAttribute

指定存取屬性化 (Attributed) 欄位的屬性 (Property) 名稱。

AsyncIteratorStateMachineAttribute

指出某個方法是否為非同步迭代器。

AsyncMethodBuilderAttribute

指出非同步方法產生器的類型,作為非同步方法的傳回型別時,它應該由語言編譯器用來建置屬性化型別。

AsyncStateMachineAttribute

表示方法是以 Async 還是以 async 修飾詞標記。

CallConvCdecl

表示方法應該使用 Cdecl 呼叫慣例。

CallConvFastcall

這個版本的 .NET 不支援此呼叫慣例。

CallConvMemberFunction

表示所使用的呼叫慣例是成員函式變體。

CallConvStdcall

表示方法應該使用 StdCall 呼叫慣例。

CallConvSuppressGCTransition

表示方法應該隱藏 GC 轉換,做為呼叫慣例的一部分。

CallConvSwift

提供編譯器寫入器的功能,該編譯器寫入器會使用 Managed 程式碼,在中繼資料中指定會影響 Common Language Runtime 之執行階段行為的屬性。

CallConvThiscall

表示方法應該使用 ThisCall 呼叫慣例。

CallerArgumentExpressionAttribute

表示參數會擷取針對另一個參數傳遞的運算式做為字串。

CallerFilePathAttribute

可讓您取得包含呼叫端之原始程式檔的完整路徑。 這是在編譯時的檔案路徑。

CallerLineNumberAttribute

可讓您取得呼叫這個方法之原始程式檔中的行號。

CallerMemberNameAttribute

可讓您取得方法呼叫端的方法或屬性名稱。

CallSite

動態呼叫站台的基底類別。 這個類型可做為動態位置的目標參數類型。

CallSite<T>

動態站台類型。

CallSiteBinder

負責在動態呼叫位置上執行動態作業之執行階段繫結的類別。

CallSiteHelpers

包含 DLR CallSites 之 Helper 方法的類別。

CallSiteOps

建立及快取繫結規則。

Closure

表示動態產生之方法的執行階段狀態。

CollectionBuilderAttribute

提供編譯器寫入器的功能,該編譯器寫入器會使用 Managed 程式碼,在中繼資料中指定會影響 Common Language Runtime 之執行階段行為的屬性。

CompilationRelaxationsAttribute

控制由 Common Language Runtime 的 Just-In-Time (JIT) 編譯器所產生之程式碼的嚴謹度。

CompilerFeatureRequiredAttribute

表示套用此屬性的位置需要特定功能的編譯器支援。

CompilerGeneratedAttribute

區別編譯器產生的項目與使用者產生的項目。 此類別無法獲得繼承。

CompilerGlobalScopeAttribute

指示類別應該視為具有全域範圍。

CompilerMarshalOverride

表示某個變數的修改執行個體 (Instance) 與封送處理 (Marshaling) 時的真正型別不同。 此類別無法獲得繼承。

ConditionalWeakTable<TKey,TValue>

讓編譯器動態地將物件欄位附加至 Managed 物件。

ContractHelper

提供二進位重寫器用來處理合約失敗的方法。

CppInlineNamespaceAttribute

定義 C++/CLI 中的內嵌命名空間。

CreateNewOnMetadataUpdateAttribute

指出套用中繼資料更新時,應該取代類型,而不是更新類型。

CustomConstantAttribute

定義編譯器可以保存之欄位或方法參數的常數值。

DateTimeConstantAttribute

保存 (Persist) 欄位或參數的 8 位元組 DateTime 常數。

DebugInfoGenerator

為運算式樹狀架構中的 Lambda 運算式產生偵錯資訊。

DecimalConstantAttribute

Decimal 常數值儲存於中繼資料 (Metadata) 中。 此類別無法獲得繼承。

DefaultDependencyAttribute

提供提示給 Common Language Runtime (CLR),指出載入相依性的可能性。 這個類別是用於相依的組件中,表示當父代並未指定 DependencyAttribute 屬性 (Attribute) 時,應該使用哪些提示。 此類別無法獲得繼承。

DependencyAttribute

表示參考組件載入相依性的時機。 此類別無法獲得繼承。

DisablePrivateReflectionAttribute

表示包含在組件類型中的任何私用成員不可用於反映。

DisableRuntimeMarshallingAttribute

停用 P/Invokes、委派類型和 Unmanaged 函式指標調用的內建執行時間 Managed/Unmanaged 封送處理子系統。

DiscardableAttribute

標記型別定義為可棄置的。

DynamicAttribute

表示成員上 Object 的使用將視為動態分派型別。

EnumeratorCancellationAttribute

允許非同步可列舉方法的使用者,針對應該從 GetAsyncEnumerator(CancellationToken) 接收取消語彙基元值的參數進行標記。

ExecutionScope

表示動態產生之方法的執行階段狀態。

ExtensionAttribute

表示方法是擴充方法,或者類別或組件包含擴充方法。

FixedAddressValueTypeAttribute

在整個存留期 (Lifetime) 中,固定靜態值型別欄位的位址。 此類別無法獲得繼承。

FixedBufferAttribute

表示欄位應視為包含指定基本類型的固定項目數。 此類別無法獲得繼承。

FormattableStringFactory

提供靜態方法,從複合格式字串和其引數建立 FormattableString 物件。

HasCopySemanticsAttribute

這個類別已經過時。 此類別無法獲得繼承。

IDispatchConstantAttribute

指示屬性欄位或參數的預設值為 DispatchWrapper 的執行個體,其中 WrappedObjectnull

IndexerNameAttribute

表示不直接支援索引子的程式語言中索引子的已知名稱。

InlineArrayAttribute

表示實例的儲存體是循序複 Length 寫的時間。

InternalsVisibleToAttribute

將通常只有在目前組件中可見的類型,指定為指定組件中可見的。

InterpolatedStringHandlerArgumentAttribute

指出涉及內插字串處理常式之方法的引數應該傳遞至該處理常式。

InterpolatedStringHandlerAttribute

表示屬性型別要當做插補字串處理常式使用。

IsBoxed

表示修改的參考型別為 boxed 實值型別。 此類別無法獲得繼承。

IsByRefLikeAttribute

指出結構類似 ByRef。

IsByValue

表示修改的方法引數應該解譯成含有以傳值 (By Value) 方式傳遞物件的語意 (Semantics)。 這個修飾詞會套用至參考型別。 此類別無法獲得繼承。

IsConst

表示修改的型別具有 const 修飾詞。 此類別無法獲得繼承。

IsCopyConstructed

表示複製這個型別的值時,必須使用此型別所提供的複製建構函式。 此類別無法獲得繼承。

IsExplicitlyDereferenced

表示 Managed 指標會表示方法簽章內的指標參數。 此類別無法獲得繼承。

IsExternalInit

保留供編譯器用來追蹤中繼資料。 此類別不應該由開發人員用於原始程式碼。

IsImplicitlyDereferenced

表示修改的記憶體回收參考會表示方法簽章內的參考參數。 此類別無法獲得繼承。

IsJitIntrinsic

指出修改的方法是內建值,而 Just-In-Time (JIT) 編譯器可以執行特殊的程式碼產生。 此類別無法獲得繼承。

IsLong

表示修改的整數是標準 C++ long 值。 此類別無法獲得繼承。

IsPinned

表示在記憶體中 Pin 修改的執行個體。 此類別無法獲得繼承。

IsReadOnlyAttribute

將程式項目標示為唯讀。

IsSignUnspecifiedByte

表示某個修飾詞既非 signed 也不是 unsigned。 此類別無法獲得繼承。

IsUdtReturn

表示傳回型別為使用者定義型別。 此類別無法獲得繼承。

IsUnmanagedAttribute

保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。

IsVolatile

將欄位標記為暫時性 (Volatile)。 此類別無法獲得繼承。

IteratorStateMachineAttribute

指出 Visual Basic 的方法是否以 Iterator 修飾詞標記。

IUnknownConstantAttribute

指示屬性欄位或參數的預設值為 UnknownWrapper 的執行個體,其中 WrappedObjectnull。 此類別無法獲得繼承。

MetadataUpdateOriginalTypeAttribute

當在熱重載會話期間已更新標記為 CreateNewOnMetadataUpdateAttribute 的型別時,編譯器就會發出。

MethodImplAttribute

指定如何實作方式的詳細資料。 此類別無法獲得繼承。

ModuleInitializerAttribute

用來向編譯器指出應該在方法內含模組的初始設定式中呼叫該方法。

NativeCppClassAttribute

將中繼資料 (Metadata) 套用至組件,表示某個型別為 Unmanaged 型別。 此類別無法獲得繼承。

NullableAttribute

保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。

NullableContextAttribute

保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。

NullablePublicOnlyAttribute

保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。

PreserveBaseOverridesAttribute

確保對方法所做的任何虛擬呼叫都會執行最常衍生的覆寫 (無論其使用方法的基礎特徵標記或衍生特徵標記)。

ReadOnlyCollectionBuilder<T>

唯讀集合的產生器。

ReferenceAssemblyAttribute

識別做為參考組件的組件,這個組件包含中繼資料但沒有可執行程式碼。

RefSafetyRulesAttribute

指出編譯模組時所使用的 ref 安全規則語言版本。

RequiredAttributeAttribute

指定匯入的編譯器 (Compiler) 必須完整了解型別定義的語意,或拒絕使用它。 此類別無法獲得繼承。

RequiredMemberAttribute

指定類型具有必要成員,或需要成員。

RequiresLocationAttribute

保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。

RuleCache<T>

表示執行階段繫結規則的快取。

RuntimeCompatibilityAttribute

指定是否使用 Exception 物件來包裝不是衍生自 RuntimeWrappedException 類別的例外狀況。 此類別無法獲得繼承。

RuntimeFeature

定義 API,以判斷通用語言執行平台是否支援特定功能。

RuntimeHelpers

提供支援編譯器的一組靜態方法和屬性。 此類別無法獲得繼承。

RuntimeOps

包含從動態產生的方法所呼叫的 Helper 方法。

RuntimeWrappedException

包裝不是衍生自 Exception 類別的例外狀況。 此類別無法獲得繼承。

ScopedRefAttribute

保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。

ScopelessEnumAttribute

表示列舉型別 (Enumeration) 名稱未限定原生 (Native) 列舉型別。 此類別無法獲得繼承。

SkipLocalsInitAttribute

指示編譯器,在發出至中繼資料時,不應該在巢狀方法標頭中設定 .locals init 旗標。

SpecialNameAttribute

表示執行階段或工具會以特殊方式處理型別或成員。 此類別無法獲得繼承。

StateMachineAttribute

可讓您判斷方法是否為狀態機器方法。

StringFreezingAttribute

已取代。 使用 Ngen.exe (原生映像產生器) 建立原生映像時,凍結字串常值。 此類別無法獲得繼承。

StrongBox<T>

保留值的參考。

SuppressIldasmAttribute

防止 Ildasm.exe (IL 反組譯工具) 將組件反組譯。 此類別無法獲得繼承。

SwitchExpressionException

表示不完整的 switch 運算式無法符合它在執行階段的輸入。 例外狀況會選擇性地包含表示不相符值的物件。

TupleElementNamesAttribute

指出應將成員上值元組的使用方式視為含有元素名稱的元組。

TypeForwardedFromAttribute

指定另一個組件中的來源 Type

TypeForwardedToAttribute

指定另一個組件中的目的 Type

Unsafe

包含管理 Managed 和 Unmanaged 指標的泛型低階功能。

UnsafeAccessorAttribute

提供存取特定類型之無法存取的成員。

UnsafeValueTypeAttribute

指定某個類型包含可能會溢位的 Unmanaged 陣列。 此類別無法獲得繼承。

結構

AsyncIteratorMethodBuilder

表示非同步迭代器的產生器。

AsyncTaskMethodBuilder

代表傳回工作之非同步方法的產生器。

AsyncTaskMethodBuilder<TResult>

表示非同步方法的產生器,會傳回一項工作並提供結果參數。

AsyncValueTaskMethodBuilder

表示非同步方法產生器,會傳回 ValueTask

AsyncValueTaskMethodBuilder<TResult>

表示會傳回 ValueTask<TResult> 的非同步方法產生器。

AsyncVoidMethodBuilder

代表不傳回值之非同步方法的產生器。

ConfiguredAsyncDisposable

提供可用來設定 IAsyncDisposable 上 await 執行方式的型別。

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

提供 awaitable 非同步列舉程式,啟用可取消反覆項目和已設定的 await。

ConfiguredCancelableAsyncEnumerable<T>

提供 awaitable 非同步列舉項目,啟用可取消反覆項目和已設定的 await。

ConfiguredTaskAwaitable

提供 awaitable 物件,啟用工作上之設定的等候。

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

提供 awaitable (ConfiguredTaskAwaitable) 物件的 awaiter。

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

提供 awaitable 物件 (ConfiguredTaskAwaitable<TResult>) 的 awaiter。

ConfiguredTaskAwaitable<TResult>

提供 awaitable 物件,啟用工作上之設定的等候。

ConfiguredValueTaskAwaitable

提供 awaitable 型別,啟用 ValueTask 已設定的 await。

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

ConfiguredValueTaskAwaitable 提供 awaiter。

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

ConfiguredValueTaskAwaitable<TResult> 提供 awaiter。

ConfiguredValueTaskAwaitable<TResult>

提供 awaitable 型別,啟用 ValueTask<TResult> 已設定的 await。

DefaultInterpolatedStringHandler

提供語言編譯器用來將字串 String 插入實例中的處理常式。

PoolingAsyncValueTaskMethodBuilder

表示非同步方法產生器,會傳回 ValueTask

PoolingAsyncValueTaskMethodBuilder<TResult>

表示會傳回 ValueTask<TResult> 的非同步方法產生器。

TaskAwaiter

提供等候非同步工作完成的物件。

TaskAwaiter<TResult>

代表等候非同步工作完成的物件,並提供結果的參數。

ValueTaskAwaiter

ValueTask 提供 awaiter。

ValueTaskAwaiter<TResult>

ValueTask<TResult> 提供 awaiter。

YieldAwaitable

以非同步方式切換到目標環境時,提供等候的內容。

YieldAwaitable.YieldAwaiter

提供要切換至目標環境的 awaiter。

介面

IAsyncStateMachine

表示針對非同步方法所產生的狀態機器。 這個型別僅供編譯器使用。

ICriticalNotifyCompletion

代表 await 作業完成時排程接續的 awaiter。

INotifyCompletion

代表完成時排程接續的作業。

IRuntimeVariables

表示執行階段變數的值。

IStrongBox

定義屬性,以存取物件所參考的值。

ITuple

定義一般用途的元組實作,允許存取元組執行個體成員,不需要知道基礎的元組類型。

列舉

CompilationRelaxations

指定參數,以便控制程式碼的嚴格程度,而此程式碼是由 Common Language Runtime 的 Just-In-Time (JIT) 編譯器所產生。

LoadHint

指定相依組件的慣用預設繫結。

MethodCodeType

定義方法實作的方式。

MethodImplOptions

指定常數,定義如何實作方法的詳細資料。

UnsafeAccessorKind

指定 提供存取權的目標 UnsafeAccessorAttribute 種類。

委派

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

代表方法,這個方法會建立非預設值,以作為索引鍵/值組的一部分加入 ConditionalWeakTable<TKey,TValue> 物件。

RuntimeHelpers.CleanupCode

表示發生例外狀況時要執行的方法。

RuntimeHelpers.TryCode

表示應在 try 區塊中執行的程式碼委派。

備註

此命名空間主要適用于編譯器寫入器,雖然其數個類別,例如 InternalsVisibleToAttribute ,用於各種不同的應用程式。