System.Runtime.CompilerServices 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供編譯器寫入器的功能,該編譯器寫入器會使用 Managed 程式碼,在中繼資料中指定會影響 Common Language Runtime 之執行階段行為的屬性。
類別
AccessedThroughPropertyAttribute |
指定存取屬性化 (Attributed) 欄位的屬性 (Property) 名稱。 |
AsyncIteratorStateMachineAttribute |
指出某個方法是否為非同步迭代器。 |
AsyncMethodBuilderAttribute |
指出非同步方法產生器的類型,作為非同步方法的傳回型別時,它應該由語言編譯器用來建置屬性化型別。 |
AsyncStateMachineAttribute | |
CallConvCdecl |
表示方法應該使用 |
CallConvFastcall |
這個版本的 .NET 不支援此呼叫慣例。 |
CallConvMemberFunction |
表示所使用的呼叫慣例是成員函式變體。 |
CallConvStdcall |
表示方法應該使用 |
CallConvSuppressGCTransition |
表示方法應該隱藏 GC 轉換,做為呼叫慣例的一部分。 |
CallConvThiscall |
表示方法應該使用 |
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 的執行個體,其中 WrappedObject 為 |
IndexerNameAttribute |
表示不直接支援索引子的程式語言中索引子的已知名稱。 |
InlineArrayAttribute |
表示實例的儲存體是循序複 Length 寫的時間。 |
InternalsVisibleToAttribute |
將通常只有在目前組件中可見的類型,指定為指定組件中可見的。 |
InterpolatedStringHandlerArgumentAttribute |
指出涉及內插字串處理常式之方法的引數應該傳遞至該處理常式。 |
InterpolatedStringHandlerAttribute |
表示屬性型別要當做插補字串處理常式使用。 |
IsBoxed |
表示修改的參考型別為 boxed 實值型別。 此類別無法獲得繼承。 |
IsByRefLikeAttribute |
指出結構類似 ByRef。 |
IsByValue |
表示修改的方法引數應該解譯成含有以傳值 (By Value) 方式傳遞物件的語意 (Semantics)。 這個修飾詞會套用至參考型別。 此類別無法獲得繼承。 |
IsConst |
表示修改的型別具有 |
IsCopyConstructed |
表示複製這個型別的值時,必須使用此型別所提供的複製建構函式。 此類別無法獲得繼承。 |
IsExplicitlyDereferenced |
表示 Managed 指標會表示方法簽章內的指標參數。 此類別無法獲得繼承。 |
IsExternalInit |
保留供編譯器用來追蹤中繼資料。 此類別不應該由開發人員用於原始程式碼。 |
IsImplicitlyDereferenced |
表示修改的記憶體回收參考會表示方法簽章內的參考參數。 此類別無法獲得繼承。 |
IsJitIntrinsic |
指出修改的方法是內建值,而 Just-In-Time (JIT) 編譯器可以執行特殊的程式碼產生。 此類別無法獲得繼承。 |
IsLong |
表示修改的整數是標準 C++ |
IsPinned |
表示在記憶體中 Pin 修改的執行個體。 此類別無法獲得繼承。 |
IsReadOnlyAttribute |
將程式項目標示為唯讀。 |
IsSignUnspecifiedByte |
表示某個修飾詞既非 signed 也不是 unsigned。 此類別無法獲得繼承。 |
IsUdtReturn |
表示傳回型別為使用者定義型別。 此類別無法獲得繼承。 |
IsUnmanagedAttribute |
保留供編譯器用來追蹤中繼資料。 開發人員不應該在原始程式碼中使用這個屬性。 |
IsVolatile |
將欄位標記為暫時性 (Volatile)。 此類別無法獲得繼承。 |
IteratorStateMachineAttribute |
指出 Visual Basic 的方法是否以 |
IUnknownConstantAttribute |
指示屬性欄位或參數的預設值為 UnknownWrapper 的執行個體,其中 WrappedObject 為 |
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 陣列。 此類別無法獲得繼承。 |
結構
介面
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 ,用於各種不同的應用程式。
意見反應
提交並檢視相關的意見反應