Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

System.Runtime.CompilerServices Namespace

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
Public class Supported by Portable Class Library AccessedThroughPropertyAttribute Specifies the name of the property that accesses the attributed field.
Public class AsyncStateMachineAttribute Indicates whether a method is marked with either the Async (Visual Basic) or async (C# Reference) modifier.
Public class CallConvCdecl Indicates that a method should use the Cdecl calling convention.
Public class CallConvFastcall This calling convention is not supported in this version of the .NET Framework.
Public class CallConvStdcall Indicates that a method should use the StdCall calling convention.
Public class CallConvThiscall Indicates that a method should use the ThisCall calling convention.
Public class 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.
Public class CallerLineNumberAttribute Allows you to obtain the line number in the source file at which the method is called.
Public class CallerMemberNameAttribute Allows you to obtain the method or property name of the caller to the method.
Public class Supported by Portable Class Library CallSite A dynamic call site base class. This type is used as a parameter type to the dynamic site targets.
Public class Supported by Portable Class Library CallSite<T> Dynamic site type.
Public class Supported by Portable Class Library CallSiteBinder Class responsible for runtime binding of the dynamic operations on the dynamic call site.
Public class Supported by Portable Class Library 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 Supported by Portable Class Library CompilationRelaxationsAttribute Controls the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler.
Public class Supported by Portable Class Library CompilerGeneratedAttribute Distinguishes a compiler-generated element from a user-generated element. This class cannot be inherited.
Public class CompilerGlobalScopeAttribute Indicates that a class should be treated as if it has global scope.
Public class CompilerMarshalOverride Indicates that the modified instance of a variable differs from its true type when marshaling. This class cannot be inherited.
Public class Supported by Portable Class Library ConditionalWeakTable<TKey, TValue> Enables compilers to dynamically attach object fields to managed objects.
Public class ContractHelper Provides methods that the binary rewriter uses to handle contract failures.
Public class Supported by Portable Class Library CustomConstantAttribute Defines a constant value that a compiler can persist for a field or method parameter.
Public class Supported by Portable Class Library DateTimeConstantAttribute 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 Supported by Portable Class Library DecimalConstantAttribute Stores the value of a System.Decimal constant in metadata. This class cannot be inherited.
Public class 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.
Public class DependencyAttribute Indicates when a dependency is to be loaded by the referring assembly. This class cannot be inherited.
Public class DisablePrivateReflectionAttribute Indicates that any private members contained in an assembly's types are not available to reflection.
Public class DiscardableAttribute Marks a type definition as discardable.
Public class Supported by Portable Class Library 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 Supported by Portable Class Library ExtensionAttribute Indicates that a method is an extension method, or that a class or assembly contains extension methods.
Public class FixedAddressValueTypeAttribute Fixes the address of a static value type field throughout its lifetime. This class cannot be inherited.
Public class Supported by Portable Class Library 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.
Public class FormattableStringFactory Provides a static method to create a FormattableString object from a composite format string and its arguments.
Public class HasCopySemanticsAttribute This class is not used in the .NET Framework version 2.0 and is reserved for future use. This class cannot be inherited.
Public class IDispatchConstantAttribute Indicates that the default value for the attributed field or parameter is an instance of DispatchWrapper, where the WrappedObject is null.
Public class Supported by Portable Class Library IndexerNameAttribute Indicates the name by which an indexer is known in programming languages that do not support indexers directly.
Public class Supported by Portable Class Library InternalsVisibleToAttribute Specifies that types that are ordinarily visible only within the current assembly are visible to a specified assembly.
Public class IsBoxed Indicates that the modified reference type is a boxed value type. This class cannot be inherited.
Public class 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.
Public class IsConst Indicates that the modified type has a const modifier. This class cannot be inherited.
Public class IsCopyConstructed Indicates that any copying of values of this type must use the copy constructor provided by the type. This class cannot be inherited.
Public class IsExplicitlyDereferenced Indicates that a managed pointer represents a pointer parameter within a method signature. This class cannot be inherited.
Public class IsImplicitlyDereferenced Indicates that the modified garbage collection reference represents a reference parameter within a method signature. This class cannot be inherited.
Public class 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.
Public class IsLong Indicates that a modified integer is a standard C++ long value. This class cannot be inherited.
Public class IsPinned Indicates that a modified instance is pinned in memory. This class cannot be inherited.
Public class IsSignUnspecifiedByte Indicates that a modifier is neither signed nor unsigned. This class cannot be inherited.
Public class IsUdtReturn Indicates that a return type is a user-defined type. This class cannot be inherited.
Public class Supported by Portable Class Library IsVolatile Marks a field as volatile. This class cannot be inherited.
Public class IteratorStateMachineAttribute Indicates whether a method in Visual Basic is marked with the Iterator modifier.
Public class 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.
Public class Supported by Portable Class Library MethodImplAttribute Specifies the details of how a method is implemented. This class cannot be inherited.
Public class NativeCppClassAttribute 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 a reference assembly, which contains metadata but no executable code.
Public class 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.
Public class RuleCache<T> Infrastructure. Represents a cache of runtime binding rules.
Public class Supported by Portable Class Library RuntimeCompatibilityAttribute Specifies whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object. This class cannot be inherited.
Public class Supported by Portable Class Library RuntimeHelpers 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 RuntimeWrappedException Wraps an exception that does not derive from the Exception class. This class cannot be inherited.
Public class ScopelessEnumAttribute Indicates that a native enumeration is not qualified by the enumeration type name. This class cannot be inherited.
Public class SpecialNameAttribute Indicates that a type or member is treated in a special way by the runtime or tools. This class cannot be inherited.
Public class StateMachineAttribute Allows you to determine whether a method is a state machine method.
Public class StringFreezingAttribute Deprecated. Freezes a string literal when creating native images using the Ngen.exe (Native Image Generator). This class cannot be inherited.
Public class Supported by Portable Class Library StrongBox<T> Holds a reference to a value.
Public class SuppressIldasmAttribute Prevents the Ildasm.exe (IL Disassembler) from disassembling an assembly. This class cannot be inherited.
Public class Supported by Portable Class Library TypeForwardedFromAttribute Specifies a source Type in another assembly.
Public class Supported by Portable Class Library TypeForwardedToAttribute Specifies a destination Type in another assembly.
Public class Supported by Portable Class Library UnsafeValueTypeAttribute Specifies that a type contains an unmanaged array that might potentially overflow. This class cannot be inherited.

  Structure Description
Public structure AsyncTaskMethodBuilder Represents a builder for asynchronous methods that return a task.
Public structure AsyncTaskMethodBuilder<TResult> Represents a builder for asynchronous methods that returns a task and provides a parameter for the result.
Public structure AsyncVoidMethodBuilder Represents a builder for asynchronous methods that do not return a value.
Public structure ConfiguredTaskAwaitable Provides an awaitable object that enables configured awaits on a task.
Public structure ConfiguredTaskAwaitable.ConfiguredTaskAwaiter Provides an awaiter for an awaitable (ConfiguredTaskAwaitable) object.
Public structure ConfiguredTaskAwaitable<TResult> Provides an awaitable object that enables configured awaits on a task.
Public structure ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter Provides an awaiter for an awaitable object(ConfiguredTaskAwaitable<TResult>).
Public structure TaskAwaiter Infrastructure. Provides an object that waits for the completion of an asynchronous task.
Public structure TaskAwaiter<TResult> Infrastructure. Represents an object that waits for the completion of an asynchronous task and provides a parameter for the result.
Public structure YieldAwaitable Provides the context for waiting when asynchronously switching into a target environment.
Public structure YieldAwaitable.YieldAwaiter Provides an awaiter for switching into a target environment.

  Interface Description
Public interface IAsyncStateMachine Represents state machines that are generated for asynchronous methods. This type is intended for compiler use only.
Public interface ICriticalNotifyCompletion Represents an awaiter that schedules continuations when an await operation completes.
Public interface INotifyCompletion Represents an operation that schedules continuations when it completes.
Public interface IRuntimeVariables Represents the values of run-time variables.
Public interface Supported by Portable Class Library IStrongBox Defines a property for accessing the value that an object references.

  Delegate Description
Public delegate Supported by Portable Class Library 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.
Public delegate RuntimeHelpers.CleanupCode Represents a method to run when an exception occurs.
Public delegate RuntimeHelpers.TryCode Represents a delegate to code that should be run in a try block..

  Enumeration Description
Public enumeration CodeGenerationFlags Defines flags that specify how code is generated.
Public enumeration CompilationRelaxations Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler.
Public enumeration LoadHint Specifies the preferred default binding for a dependent assembly.
Public enumeration MethodCodeType Defines how a method is implemented.
Public enumeration Supported by Portable Class Library MethodImplOptions Defines the details of how a method is implemented.
Show:
© 2015 Microsoft