System.Runtime.CompilerServices 命名空間

為使用受管程式碼的編譯器撰寫者提供功能,以指定影響公共語言執行時行為的元資料屬性。

類別

名稱 Description
AccessedThroughPropertyAttribute

指定存取屬性欄位的屬性名稱。

AsyncIteratorStateMachineAttribute

表示方法是否為非同步迭代器。

AsyncMethodBuilderAttribute

指出當做異步方法傳回型別時,語言編譯程式應該使用之異步方法產生器的型別來建置屬性型別。

AsyncStateMachineAttribute

表示方法是否標示為 非同步非同步 修飾符。

CallConvCdecl

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

CallConvFastcall

此呼叫慣例在本版本的 .NET 中不被支援。

CallConvStdcall

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

CallConvThiscall

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

CallerFilePathAttribute

標籤參數,應該用特定的呼叫者來源檔案路徑來填入。

CallerLineNumberAttribute

標籤參數,應該填寫特定的來電線路號碼。

CallerMemberNameAttribute

標籤參數,應該填寫特定的呼叫者成員名稱。

CallSite

一個動態呼叫站基底類別。 此類型用作動態站點目標的參數型態。

CallSite<T>

動態網站類型。

CallSiteBinder

負責動態呼叫站點動態操作的執行時綁定。

CallSiteHelpers

包含 DLR CallSite 輔助方法的類別。

CallSiteOps

建立並快取約束規則。

Closure

代表動態產生方法的執行狀態。

CompilationRelaxationsAttribute

控制 Common Language Runtime Just-In-Time 編譯程式所產生的程式碼嚴格性。

CompilerGeneratedAttribute

區分編譯程式產生的專案與用戶產生的專案。 此類別無法獲得繼承。

CompilerGlobalScopeAttribute

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

CompilerMarshalOverride

表示變數的修改實例在編組時與其真實型別不同。 此類別無法獲得繼承。

ConditionalWeakTable<TKey,TValue>

可讓編譯程式以動態方式將物件字段附加至 Managed 物件。

ContractHelper

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

CustomConstantAttribute

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

DateTimeConstantAttribute

為欄位或參數持續維持一個 8 位元組 DateTime 的常數。

DebugInfoGenerator

在表達樹中產生 lambda 表達式的除錯資訊。

DecimalConstantAttribute

Decimal 常數的值儲存在元數據中。 此類別無法獲得繼承。

DefaultDependencyAttribute

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

DependencyAttribute

指出參考元件何時要載入相依性。 此類別無法獲得繼承。

DisablePrivateReflectionAttribute

表示元件類型中包含的任何私用成員都無法反映。

DiscardableAttribute

將類型定義標示為可捨棄。

DynamicAttribute

表示在成員上使用 Object 應被視為動態分派類型。

EnumeratorCancellationAttribute

允許異步列舉方法的用戶標記應該從 GetAsyncEnumerator(CancellationToken)接收取消令牌值的參數。

ExecutionScope

代表動態產生方法的執行狀態。

ExtensionAttribute

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

FixedAddressValueTypeAttribute

修正整個存留期間靜態實值類型欄位的位址。 此類別無法獲得繼承。

FixedBufferAttribute

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

FormattableStringFactory

提供一種靜態方法,從複合格式字串及其參數建立 FormattableString 物件。

HasCopySemanticsAttribute

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

IDispatchConstantAttribute

表示屬性欄位或參數的預設值為 的 DispatchWrapper實例,其中 WrappedObjectnull

IndexerNameAttribute

指出索引器在不支援索引器之程式設計語言中已知的名稱。

InternalsVisibleToAttribute

指定通常只能在目前元件內看見的類型,對指定的元件可見。

IsBoxed

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

IsByRefLikeAttribute

表示 結構類似 byref。

IsByValue

表示修改過的方法參數應被解釋為具有物件以值傳遞的語意。 此修飾符適用於參考類型。 此類別無法獲得繼承。

IsConst

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

IsCopyConstructed

表示任何此類值的複製必須使用該類型提供的複製構造器。 此類別無法獲得繼承。

IsExplicitlyDereferenced

表示受管理指標代表方法簽章中的指標參數。 此類別無法獲得繼承。

IsImplicitlyDereferenced

表示修改過的垃圾回收參考代表方法簽章中的參考參數。 此類別無法獲得繼承。

IsJitIntrinsic

表示修改過的方法是一個內在值,JIT(即時)編譯器可以對此執行特殊程式碼產生。 此類別無法獲得繼承。

IsLong

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

IsPinned

表示修改後的實例已釘選在記憶體中。 此類別無法獲得繼承。

IsReadOnlyAttribute

將程式項目標示為唯讀。

IsSignUnspecifiedByte

表示修飾語既非有符號,也非無符號。 此類別無法獲得繼承。

IsUdtReturn

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

IsVolatile

標記該領域為不穩定。 此類別無法獲得繼承。

IteratorStateMachineAttribute

表示 Visual Basic 中的方法是否標示了修 Iterator 飾鍵。

IUnknownConstantAttribute

表示屬性欄位或參數的預設值為 的 UnknownWrapper實例,其中 WrappedObjectnull。 此類別無法獲得繼承。

MethodImplAttribute

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

NativeCppClassAttribute

將元數據套用至表示類型為 Unmanaged 類型的元件。 此類別無法獲得繼承。

ReadOnlyCollectionBuilder<T>

唯讀集合的產生器。

ReferenceAssemblyAttribute

將元件識別為參考元件,其中包含元數據,但沒有可執行的程序代碼。

RequiredAttributeAttribute

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

RuleCache<T>

代表一組執行時綁定規則的快取。

RuntimeCompatibilityAttribute

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

RuntimeFeature

定義 API 以判斷特定功能是否被通用語言執行環境支援。

RuntimeHelpers

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

RuntimeOps

包含由動態產生方法呼叫的輔助方法。

RuntimeWrappedException

會封裝一個不源自該 Exception 類別的例外。 此類別無法獲得繼承。

ScopelessEnumAttribute

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

SpecialNameAttribute

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

StateMachineAttribute

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

StringFreezingAttribute

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

StrongBox<T>

會引用一個數值。

SuppressIldasmAttribute

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

SwitchExpressionException

表示非窮盡的交換表達式在執行時未能匹配其輸入。 例外可選擇性地包含一個代表未匹配值的物件。

TupleElementNamesAttribute

表示在成員上使用值元組的目的是要被視為具有元素名稱的 Tuple。

TypeForwardedFromAttribute

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

TypeForwardedToAttribute

指定另一個元件中的目的地 Type

UnsafeValueTypeAttribute

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

結構

名稱 Description
AsyncIteratorMethodBuilder

表示異步反覆運算器的產生器。

AsyncTaskMethodBuilder

表示傳回工作的異步方法產生器。

AsyncTaskMethodBuilder<TResult>

表示異步方法的產生器,這個方法會傳回工作並提供結果的參數。

AsyncValueTaskMethodBuilder

表示傳回 ValueTask之異步方法的產生器。

AsyncValueTaskMethodBuilder<TResult>

表示異步方法的產生器,這個方法會傳回 ValueTask<TResult>

AsyncVoidMethodBuilder

表示未傳回值的異步方法產生器。

ConfiguredAsyncDisposable

提供一種類型,可用來設定在 IAsyncDisposable 上等候的執行方式。

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

提供可等候的異步列舉值,以啟用可取消的反覆專案和已設定的 await。

ConfiguredCancelableAsyncEnumerable<T>

提供可等候的異步列舉,以啟用可取消的反覆專案和已設定的 await。

ConfiguredTaskAwaitable

提供可等候的物件,以在工作上啟用已設定的 await。

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

提供 awaitable (ConfiguredTaskAwaitable) 物件的 awaiter。

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

為可等候的物件提供 awaiter(ConfiguredTaskAwaitable<TResult>)。

ConfiguredTaskAwaitable<TResult>

提供可等候的物件,以在工作上啟用已設定的 await。

ConfiguredValueTaskAwaitable

提供可等候的類型,可在 ValueTask上啟用已設定的 await。

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

提供 ConfiguredValueTaskAwaitable的等候程式。

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

提供 ConfiguredValueTaskAwaitable<TResult>的等候程式。

ConfiguredValueTaskAwaitable<TResult>

提供可等候的類型,可在 ValueTask<TResult>上啟用已設定的 await。

TaskAwaiter

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

TaskAwaiter<TResult>

表示物件,該物件會等候異步工作完成,並提供結果的參數。

ValueTaskAwaiter

提供 ValueTask的等候程式。

ValueTaskAwaiter<TResult>

提供 ValueTask<TResult>的等候程式。

YieldAwaitable

提供在異步切換至目標環境時等候的內容。

YieldAwaitable.YieldAwaiter

提供等候程式以切換至目標環境。

介面

名稱 Description
IAsyncStateMachine

代表為非同步方法產生的狀態機。 此類型僅供編譯器使用。

ICriticalNotifyCompletion

代表等待者,會在等待行動完成後排程繼續。

INotifyCompletion

代表一個在完成後排程繼續的操作。

IRuntimeVariables

代表執行時變數的值。

IStrongBox

定義一個屬性,用於存取物件所參考的值。

ITuple

定義一種通用的元組實作,允許在不了解底層元組類型的情況下存取元組實例成員。

列舉

名稱 Description
CompilationRelaxations

指定參數,控制 Common Language Runtime Just-In-Time 編譯程式所產生的程式代碼嚴格性。

LoadHint

指定相依元件的慣用預設系結。

MethodCodeType

定義如何實作方法。

MethodImplOptions

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

委派

名稱 Description
ConditionalWeakTable<TKey,TValue>.CreateValueCallback

代表一種方法,能建立一個非預設值,作為物件鍵值對 ConditionalWeakTable<TKey,TValue> 的一部分加入。

RuntimeHelpers.CleanupCode

代表當異常發生時執行的方法。

RuntimeHelpers.TryCode

代表一個代理給應該在 try 區塊中執行的程式碼。

備註

此命名空間主要用於編譯器撰寫者,儘管其幾個類別 InternalsVisibleToAttribute,如 ,也被廣泛應用於各種應用中。