The System.Runtime.CompilerServices namespace provides functionality for compiler writers who use managed code to specify attributes in metadata that affect the run-time behavior of the common language runtime.
This namespace is primarily for compiler writers, although several of its classes, such as System.Runtime.CompilerServices.InternalsVisibleToAttribute, are used in a wide variety of applications.
| Type | Reason |
|---|---|
| AccessedThroughPropertyAttribute |
Specifies the name of the property that accesses the attributed field. |
| AsyncStateMachineAttribute |
Indicates whether a method is marked with either the Async (Visual Basic) or async (C# Reference) modifier. |
| AsyncTaskMethodBuilder |
Represents a builder for asynchronous methods that return a task. |
| AsyncTaskMethodBuilder<TResult> |
Represents a builder for asynchronous methods that returns a task and provides a parameter for the result. |
| AsyncVoidMethodBuilder |
Represents a builder for asynchronous methods that do not return a value. |
| CallConvCdecl |
Indicates that a method should use the Cdecl calling convention. |
| CallConvFastcall |
This calling convention is not supported in this version of the .NET Framework. |
| CallConvStdcall |
Indicates that a method should use the StdCall calling convention. |
| CallConvThiscall |
Indicates that a method should use the ThisCall calling convention. |
| CallerFilePathAttribute |
Allows you to obtain the full path of the source file that contains the caller. This is the file path at the time of compile. |
| CallerLineNumberAttribute |
Allows you to obtain the line number in the source file at which the method is called. |
| CallerMemberNameAttribute |
Allows you to obtain the method or property name of the caller to the method. |
| CallSite |
A dynamic call site base class. This type is used as a parameter type to the dynamic site targets. |
| CallSite<T> |
Dynamic site type. |
| CallSiteBinder |
Class responsible for runtime binding of the dynamic operations on the dynamic call site. |
| CallSiteHelpers |
Class that contains helper methods for DLR CallSites. |
| CallSiteOps |
Creates and caches binding rules. |
| Closure |
Represents the runtime state of a dynamically generated method. |
| CompilationRelaxations |
Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. |
| CompilationRelaxationsAttribute |
Controls the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. |
| CompilerGeneratedAttribute |
Distinguishes a compiler-generated element from a user-generated element. This class cannot be inherited. |
| CompilerGlobalScopeAttribute |
Indicates that a class should be treated as if it has global scope. |
| CompilerMarshalOverride |
Indicates that the modified instance of a variable differs from its true type when marshaling. This class cannot be inherited. |
| ConditionalWeakTable<TKey,TValue> | Documentation for this section has not yet been entered. |
| ConditionalWeakTable<TKey,TValue>+CreateValueCallback |
Enables compilers to dynamically attach object fields to managed objects. |
| ConfiguredTaskAwaitable |
Provides an awaitable object that enables configured awaits on a task. |
| ConfiguredTaskAwaitable+ConfiguredTaskAwaiter | Documentation for this section has not yet been entered. |
| ConfiguredTaskAwaitable<TResult> | Documentation for this section has not yet been entered. |
| ConfiguredTaskAwaitable<TResult>+ConfiguredTaskAwaiter |
Provides an awaitable object that enables configured awaits on a task. |
| ContractHelper |
Provides methods that the binary rewriter uses to handle contract failures. |
| CustomConstantAttribute |
Defines a constant value that a compiler can persist for a field or method parameter. |
| DateTimeConstantAttribute |
Persists an 8-byte DateTime constant for a field or parameter. |
| DebugInfoGenerator |
Generates debug information for lambda expressions in an expression tree. |
| DecimalConstantAttribute |
Stores the value of a decimal constant in metadata. This class cannot be inherited. |
| DefaultDependencyAttribute |
Provides a hint to the common language runtime (CLR) indicating how likely a dependency is to be loaded. This class is used in a dependent assembly to indicate what hint should be used when the parent does not specify the System.Runtime.CompilerServices.DependencyAttribute attribute. This class cannot be inherited. |
| DependencyAttribute |
Indicates when a dependency is to be loaded by the referring assembly. This class cannot be inherited. |
| DiscardableAttribute |
Marks a type definition as discardable. |
| DynamicAttribute |
Indicates that the use of object on a member is meant to be treated as a dynamically dispatched type. |
| ExecutionScope |
Represents the runtime state of a dynamically generated method. |
| ExtensionAttribute | Documentation for this section has not yet been entered. |
| ExtensionAttribute |
Indicates that a method is an extension method, or that a class or assembly contains extension methods. |
| FixedAddressValueTypeAttribute |
Fixes the address of a static value type field throughout its lifetime. This class cannot be inherited. |
| FixedBufferAttribute |
Indicates that a field should be treated as containing a fixed number of elements of the specified primitive type. This class cannot be inherited. |
| HasCopySemanticsAttribute |
This class is not used in the .NET Framework version 2.0 and is reserved for future use. This class cannot be inherited. |
| IAsyncStateMachine |
Represents state machines that are generated for asynchronous methods. This type is intended for compiler use only. |
| ICriticalNotifyCompletion |
Represents an awaiter that schedules continuations when an await operation completes. |
| IDispatchConstantAttribute |
Indicates that the default value for the attributed field or parameter is an instance of System.Runtime.InteropServices.DispatchWrapper, where the System.Runtime.InteropServices.DispatchWrapper.WrappedObject is null. |
| IndexerNameAttribute |
Indicates the name by which an indexer is known in programming languages that do not support indexers directly. |
| INotifyCompletion |
Represents an operation that schedules continuations when it completes. |
| InternalsVisibleToAttribute |
Specifies that types that are ordinarily visible only within the current assembly are visible to a specified assembly. |
| IRuntimeVariables |
Represents the values of run-time variables. |
| IsBoxed |
Indicates that the modified reference type is a boxed value type. This class cannot be inherited. |
| IsByValue |
Indicates that a modified method argument should be interpreted as having object passed-by-value semantics. This modifier is applied to reference types. This class cannot be inherited. |
| IsConst |
Indicates that the modified type has a const modifier. This class cannot be inherited. |
| IsCopyConstructed |
Indicates that any copying of values of this type must use the copy constructor provided by the type. This class cannot be inherited. |
| IsExplicitlyDereferenced |
Indicates that a managed pointer represents a pointer parameter within a method signature. This class cannot be inherited. |
| IsImplicitlyDereferenced |
Indicates that the modified garbage collection reference represents a reference parameter within a method signature. This class cannot be inherited. |
| IsJitIntrinsic |
Indicates that a modified method is an intrinsic value for which the just-in-time (JIT) compiler can perform special code generation. This class cannot be inherited. |
| IsLong |
Indicates that a modified integer is a standard C++ long value. This class cannot be inherited. |
| IsPinned |
Indicates that a modified instance is pinned in memory. This class cannot be inherited. |
| IsSignUnspecifiedByte |
Indicates that a modifier is neither signed nor unsigned. This class cannot be inherited. |
| IStrongBox |
Defines a property for accessing the value that an object references. |
| IsUdtReturn |
Indicates that a return type is a user-defined type. This class cannot be inherited. |
| IsVolatile |
Marks a field as volatile. This class cannot be inherited. |
| IteratorStateMachineAttribute |
Indicates whether a method in Visual Basic is marked with the Iterator modifier. |
| IUnknownConstantAttribute |
Indicates that the default value for the attributed field or parameter is an instance of System.Runtime.InteropServices.UnknownWrapper, where the System.Runtime.InteropServices.UnknownWrapper.WrappedObject is null. This class cannot be inherited. |
| LoadHint |
Specifies the preferred default binding for a dependent assembly. |
| MethodCodeType |
Defines how a method is implemented. |
| MethodImplAttribute |
Specifies the details of how a method is implemented. This class cannot be inherited. |
| MethodImplOptions |
Defines the details of how a method is implemented. |
| NativeCppClassAttribute |
Applies metadata to an assembly that indicates that a type is an unmanaged type. This class cannot be inherited. |
| ReadOnlyCollectionBuilder<T> |
The builder for read only collection. |
| ReferenceAssemblyAttribute |
Identifies an assembly as a reference assembly, which contains metadata but no executable code. |
| RequiredAttributeAttribute |
Specifies that an importing compiler must fully understand the semantics of a type definition, or refuse to use it. This class cannot be inherited. |
| RuleCache<T> |
Represents a cache of runtime binding rules. |
| RuntimeCompatibilityAttribute |
Specifies whether to wrap exceptions that do not derive from the Exception class with a System.Runtime.CompilerServices.RuntimeWrappedException object. This class cannot be inherited. |
| RuntimeHelpers |
Provides a set of static methods and properties that provide support for compilers. This class cannot be inherited. |
| RuntimeHelpers+CleanupCode | Documentation for this section has not yet been entered. |
| RuntimeHelpers+TryCode | Documentation for this section has not yet been entered. |
| RuntimeOps |
Contains helper methods called from dynamically generated methods. |
| RuntimeWrappedException |
Wraps an exception that does not derive from the Exception class. This class cannot be inherited. |
| ScopelessEnumAttribute |
Indicates that a native enumeration is not qualified by the enumeration type name. This class cannot be inherited. |
| SpecialNameAttribute |
Indicates that a type or member is treated in a special way by the runtime or tools. This class cannot be inherited. |
| StateMachineAttribute |
Allows you to determine whether a method is a state machine method. |
| StringFreezingAttribute |
Deprecated. Freezes a string literal when creating native images using the Native Image Generator (Ngen.exe). This class cannot be inherited. |
| StrongBox<T> |
Holds a reference to a value. |
| SuppressIldasmAttribute |
Prevents the MSIL Disassembler (Ildasm.exe) from disassembling an assembly. This class cannot be inherited. |
| TaskAwaiter |
Provides an object that waits for the completion of an asynchronous task. |
| TaskAwaiter<TResult> |
Represents an object that waits for the completion of an asynchronous task and provides a parameter for the result. |
| TypeForwardedFromAttribute |
Specifies a source Type in another assembly. |
| TypeForwardedToAttribute |
Specifies a destination Type in another assembly. |
| UnsafeValueTypeAttribute |
Specifies that a type contains an unmanaged array that might potentially overflow. This class cannot be inherited. |
| YieldAwaitable |
Provides the context for waiting when asynchronously switching into a target environment. |
| YieldAwaitable+YieldAwaiter | Documentation for this section has not yet been entered. |