System.Runtime.CompilerServices 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
為使用受管程式碼的編譯器撰寫者提供功能,以指定影響公共語言執行時行為的元資料屬性。
類別
| 名稱 | Description |
|---|---|
| AccessedThroughPropertyAttribute |
指定存取屬性欄位的屬性名稱。 |
| AsyncIteratorStateMachineAttribute |
表示方法是否為非同步迭代器。 |
| AsyncMethodBuilderAttribute |
指出當做異步方法傳回型別時,語言編譯程式應該使用之異步方法產生器的型別來建置屬性型別。 |
| AsyncStateMachineAttribute | |
| CallConvCdecl |
表示方法應使用 呼叫 |
| CallConvFastcall |
此呼叫慣例在本版本的 .NET 中不被支援。 |
| CallConvStdcall |
表示方法應使用 呼叫 |
| CallConvThiscall |
表示方法應使用 呼叫 |
| 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實例,其中 WrappedObject 為 |
| IndexerNameAttribute |
指出索引器在不支援索引器之程式設計語言中已知的名稱。 |
| InternalsVisibleToAttribute |
指定通常只能在目前元件內看見的類型,對指定的元件可見。 |
| IsBoxed |
表示修改後的參考型別為盒型值型。 此類別無法獲得繼承。 |
| IsByRefLikeAttribute |
表示 結構類似 byref。 |
| IsByValue |
表示修改過的方法參數應被解釋為具有物件以值傳遞的語意。 此修飾符適用於參考類型。 此類別無法獲得繼承。 |
| IsConst |
表示修改後的類型有 |
| IsCopyConstructed |
表示任何此類值的複製必須使用該類型提供的複製構造器。 此類別無法獲得繼承。 |
| IsExplicitlyDereferenced |
表示受管理指標代表方法簽章中的指標參數。 此類別無法獲得繼承。 |
| IsImplicitlyDereferenced |
表示修改過的垃圾回收參考代表方法簽章中的參考參數。 此類別無法獲得繼承。 |
| IsJitIntrinsic |
表示修改過的方法是一個內在值,JIT(即時)編譯器可以對此執行特殊程式碼產生。 此類別無法獲得繼承。 |
| IsLong |
表示修改過的整數是標準的 C++ |
| IsPinned |
表示修改後的實例已釘選在記憶體中。 此類別無法獲得繼承。 |
| IsReadOnlyAttribute |
將程式項目標示為唯讀。 |
| IsSignUnspecifiedByte |
表示修飾語既非有符號,也非無符號。 此類別無法獲得繼承。 |
| IsUdtReturn |
表示回傳型別是使用者定義型別。 此類別無法獲得繼承。 |
| IsVolatile |
標記該領域為不穩定。 此類別無法獲得繼承。 |
| IteratorStateMachineAttribute |
表示 Visual Basic 中的方法是否標示了修 |
| IUnknownConstantAttribute |
表示屬性欄位或參數的預設值為 的 UnknownWrapper實例,其中 WrappedObject 為 |
| 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 |
|---|---|
| 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,如 ,也被廣泛應用於各種應用中。