Share via


System.Runtime.CompilerServices Namespace

Microsoft Silverlight will reach end of support after October 2021. Learn more.

This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.

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.

Classes

  Class Description
Public class AccessedThroughPropertyAttribute Infrastructure. Specifies the name of the property that accesses the attributed field.
Public class CallSite A dynamic call site base class. This type is used as a parameter type to the dynamic site targets.
Public class CallSite<T> Dynamic site type.
Public class CallSiteBinder Class responsible for runtime binding of the dynamic operations on the dynamic call site.
Public class CallSiteHelpers Class that contains helper methods for DLR CallSites.
Public class CallSiteOps Infrastructure. Creates and caches binding rules.
Public class Closure Infrastructure. Represents the runtime state of a dynamically generated method.
Public class CodeGenerationAttribute Specifies settings for code generation.
Public class CompilationRelaxationsAttribute Infrastructure. Controls the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler.
Public class CompilerGeneratedAttribute Infrastructure. Distinguishes a compiler-generated element from a user-generated element. This class cannot be inherited.
Public class ConditionalWeakTable<TKey, TValue> Enables compilers to dynamically attach object fields to managed objects.
Public class CustomConstantAttribute Infrastructure. Defines a constant value that a compiler can persist for a field or method parameter.
Public class DateTimeConstantAttribute Infrastructure. Persists an 8-byte DateTime constant for a field or parameter.
Public class DebugInfoGenerator Generates debug information for lambda expressions in an expression tree.
Public class DecimalConstantAttribute Infrastructure. Stores the value of a System.Decimal constant in metadata. This class cannot be inherited.
Public class DynamicAttribute Indicates that the use of Object on a member is meant to be treated as a dynamically dispatched type.
Public class ExecutionScope Infrastructure. Obsolete. Represents the runtime state of a dynamically generated method.
Public class ExtensionAttribute Infrastructure. Indicates that a method is an extension method, or that a class or assembly contains extension methods.
Public class FixedAddressValueTypeAttribute Infrastructure. Fixes the address of a static value type field throughout its lifetime. This class cannot be inherited.
Public class FixedBufferAttribute Infrastructure. Indicates that a field should be treated as containing a fixed number of elements of the specified primitive type. This class cannot be inherited.
Public class IndexerNameAttribute Infrastructure. Indicates the name by which an indexer is known in programming languages that do not support indexers directly.
Public class InternalsVisibleToAttribute Infrastructure. Specifies that types that are ordinarily visible only within the current assembly are visible to another assembly.
Public class IsBoxed Infrastructure. Indicates that the modified reference type is a boxed value type. This class cannot be inherited.
Public class IsByValue Infrastructure. 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.
Public class IsConst Infrastructure. Indicates that the modified type has a const modifier. This class cannot be inherited.
Public class IsExplicitlyDereferenced Infrastructure. Indicates that a managed pointer represents a pointer parameter within a method signature. This class cannot be inherited.
Public class IsImplicitlyDereferenced Infrastructure. Indicates that the modified garbage collection reference represents a reference parameter within a method signature. This class cannot be inherited.
Public class IsLong Infrastructure. Indicates that a modified integer is a standard C++ long value. This class cannot be inherited.
Public class IsSignUnspecifiedByte Infrastructure. Indicates that a modifier is neither signed nor unsigned. This class cannot be inherited.
Public class IsUdtReturn Infrastructure. Indicates that a return type is a user-defined type. This class cannot be inherited.
Public class IsVolatile Infrastructure. Marks a field as volatile. This class cannot be inherited.
Public class MethodImplAttribute Infrastructure. Specifies the details of how a method is implemented. This class cannot be inherited.
Public class NativeCppClassAttribute Infrastructure. Applies metadata to an assembly that indicates that a type is an unmanaged type. This class cannot be inherited.
Public class ReadOnlyCollectionBuilder<T> The builder for read only collection.
Public class ReferenceAssemblyAttribute Identifies an assembly as containing metadata and not executable code.
Public class RuleCache<T> Infrastructure. Represents a cache of runtime binding rules.
Public class RuntimeCompatibilityAttribute Infrastructure. Specifies whether to wrap exceptions that do not derive from the Exception. This class cannot be inherited.
Public class RuntimeHelpers Infrastructure. Provides a set of static methods and properties that provide support for compilers. This class cannot be inherited.
Public class RuntimeOps Infrastructure. Contains helper methods called from dynamically generated methods.
Public class SpecialNameAttribute Infrastructure. Indicates that a type or member is treated in a special way by the runtime or tools. This class cannot be inherited.
Public class StrongBox<T> Infrastructure. Holds a reference to a value.
Public class TypeForwardedFromAttribute Specifies a source Type in another assembly.
Public class TypeForwardedToAttribute Specifies a destination Type in another assembly. This class cannot be inherited.
Public class UnsafeValueTypeAttribute Infrastructure. Specifies that a type contains an unmanaged array that might potentially overflow. This class cannot be inherited.

Interfaces

  Interface Description
Public interface IRuntimeVariables Represents the values of run-time variables.
Public interface IStrongBox Infrastructure. Defines a property for accessing the value that an object references.

Delegates

  Delegate Description
Public delegate 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.

Enumerations

  Enumeration Description
Public enumeration CodeGenerationFlags Defines flags that specify how code is generated.
Public enumeration CompilationRelaxations Infrastructure. Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler.
Public enumeration MethodCodeType Infrastructure. Defines how a method is implemented.
Public enumeration MethodImplOptions Infrastructure. Defines the details of how a method is implemented.