System.Runtime.CompilerServices Namespace
.NET Framework 4
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 InternalsVisibleToAttribute, are used in a wide variety of applications.
| Class | Description | |
|---|---|---|
|
AccessedThroughPropertyAttribute | Specifies the name of the property that accesses the attributed field. |
|
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. |
|
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 | Infrastructure. Creates and caches binding rules. |
|
Closure | Infrastructure. Represents the runtime state of a dynamically generated method. |
|
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> | Enables compilers to dynamically attach object fields to managed objects. |
|
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 System.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 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 | Infrastructure. Obsolete. Represents the runtime state of a dynamically generated method. |
|
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. |
|
IDispatchConstantAttribute | Indicates that the default value for the attributed field or parameter is an instance of DispatchWrapper, where the WrappedObject is null. |
|
IndexerNameAttribute | Indicates the name by which an indexer is known in programming languages that do not support indexers directly. |
|
InternalsVisibleToAttribute | Specifies that types that are ordinarily visible only within the current assembly are visible to a specified assembly. |
|
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. |
|
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. |
|
IUnknownConstantAttribute | Indicates that the default value for the attributed field or parameter is an instance of UnknownWrapper, where the WrappedObject is null. This class cannot be inherited. |
|
MethodImplAttribute | Specifies the details of how a method is implemented. This class cannot be inherited. |
|
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> | Infrastructure. Represents a cache of runtime binding rules. |
|
RuntimeCompatibilityAttribute | Specifies whether to wrap exceptions that do not derive from the Exception class with a 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. |
|
RuntimeOps | Infrastructure. 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. |
|
StringFreezingAttribute | Deprecated. Freezes a string literal when creating native images using the Ngen.exe (Native Image Generator). This class cannot be inherited. |
|
StrongBox<T> | Infrastructure. Holds a reference to a value. |
|
SuppressIldasmAttribute | Prevents the Ildasm.exe (MSIL Disassembler) from disassembling an assembly. This class cannot be inherited. |
|
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. |
| Interface | Description | |
|---|---|---|
|
IRuntimeVariables | Represents the values of run-time variables. |
|
IStrongBox | Infrastructure. Defines a property for accessing the value that an object references. |
| Delegate | Description | |
|---|---|---|
|
ConditionalWeakTable<TKey, TValue>.CreateValueCallback | Represents a method that creates a non-default value to add as part of a key/value pair to a ConditionalWeakTable<TKey, TValue> object. |
|
RuntimeHelpers.CleanupCode | Represents a method to run when an exception occurs. |
|
RuntimeHelpers.TryCode | Represents a delegate to code that should be run in a try block.. |
| Enumeration | Description | |
|---|---|---|
|
CompilationRelaxations | Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. |
|
LoadHint | Specifies the preferred default binding for a dependent assembly. |
|
MethodCodeType | Defines how a method is implemented. |
|
MethodImplOptions | Defines the details of how a method is implemented. |