mscorlib(4.0.0.0) API with additions
System.Runtime.CompilerServices Namespace Reference

Classes

class  AccessedThroughPropertyAttribute
 Specifies the name of the property that accesses the attributed field. More...
 
class  AsyncStateMachineAttribute
 Indicates whether a method is marked with either the Async (Visual Basic) or async (C# Reference) modifier. More...
 
struct  AsyncTaskMethodBuilder
 Represents a builder for asynchronous methods that return a task. More...
 
struct  AsyncVoidMethodBuilder
 Represents a builder for asynchronous methods that do not return a value. More...
 
class  CallConvCdecl
 Indicates that a method should use the Cdecl calling convention. More...
 
class  CallConvFastcall
 This calling convention is not supported in this version of the .NET Framework. More...
 
class  CallConvStdcall
 Indicates that a method should use the StdCall calling convention. More...
 
class  CallConvThiscall
 Indicates that a method should use the ThisCall calling convention. More...
 
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. More...
 
class  CallerLineNumberAttribute
 Allows you to obtain the line number in the source file at which the method is called. More...
 
class  CallerMemberNameAttribute
 Allows you to obtain the method or property name of the caller to the method. More...
 
class  CallSite
 A dynamic call site base class. This type is used as a parameter type to the dynamic site targets. More...
 
class  CallSiteBinder
 Class responsible for runtime binding of the dynamic operations on the dynamic call site. More...
 
class  CallSiteHelpers
 Class that contains helper methods for DLR CallSites. More...
 
class  CallSiteOps
 Creates and caches binding rules. More...
 
class  Closure
 Represents the runtime state of a dynamically generated method. More...
 
class  CompilationRelaxationsAttribute
 Controls the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. More...
 
class  CompilerGeneratedAttribute
 Distinguishes a compiler-generated element from a user-generated element. This class cannot be inherited. More...
 
class  CompilerGlobalScopeAttribute
 Indicates that a class should be treated as if it has global scope. More...
 
class  CompilerMarshalOverride
 Indicates that the modified instance of a variable differs from its true type when marshaling. This class cannot be inherited. More...
 
class  ConditionalWeakTable
 Enables compilers to dynamically attach object fields to managed objects. More...
 
struct  ConfiguredTaskAwaitable
 Provides an awaitable object that enables configured awaits on a task. More...
 
class  ContractHelper
 Provides methods that the binary rewriter uses to handle contract failures. More...
 
class  CustomConstantAttribute
 Defines a constant value that a compiler can persist for a field or method parameter. More...
 
class  DateTimeConstantAttribute
 Persists an 8-byte T:System.DateTime constant for a field or parameter. More...
 
class  DebugInfoGenerator
 Generates debug information for lambda expressions in an expression tree. More...
 
class  DecimalConstantAttribute
 Stores the value of a T:System.Decimal constant in metadata. This class cannot be inherited. More...
 
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 T:System.Runtime.CompilerServices.DependencyAttribute attribute. This class cannot be inherited. More...
 
class  DependencyAttribute
 Indicates when a dependency is to be loaded by the referring assembly. This class cannot be inherited. More...
 
class  DisablePrivateReflectionAttribute
 Indicates that any private members contained in an assembly's types are not available to reflection. More...
 
class  DiscardableAttribute
 Marks a type definition as discardable. More...
 
class  DynamicAttribute
 Indicates that the use of T:System.Object on a member is meant to be treated as a dynamically dispatched type. More...
 
class  ExecutionScope
 Represents the runtime state of a dynamically generated method. More...
 
class  ExtensionAttribute
 Indicates that a method is an extension method, or that a class or assembly contains extension methods. More...
 
class  FixedAddressValueTypeAttribute
 Fixes the address of a static value type field throughout its lifetime. This class cannot be inherited. More...
 
class  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. More...
 
class  FormattableStringFactory
 Provides a static method to create a T:System.FormattableString object from a composite format string and its arguments. More...
 
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. More...
 
interface  IAsyncStateMachine
 Represents state machines that are generated for asynchronous methods. This type is intended for compiler use only. More...
 
interface  ICriticalNotifyCompletion
 Represents an awaiter that schedules continuations when an await operation completes. More...
 
class  IDispatchConstantAttribute
 Indicates that the default value for the attributed field or parameter is an instance of T:System.Runtime.InteropServices.DispatchWrapper, where the P:System.Runtime.InteropServices.DispatchWrapper.WrappedObject is null. More...
 
class  IndexerNameAttribute
 Indicates the name by which an indexer is known in programming languages that do not support indexers directly. More...
 
interface  INotifyCompletion
 Represents an operation that schedules continuations when it completes. More...
 
class  InternalsVisibleToAttribute
 Specifies that types that are ordinarily visible only within the current assembly are visible to a specified assembly. More...
 
interface  IRuntimeVariables
 Represents the values of run-time variables. More...
 
class  IsBoxed
 Indicates that the modified reference type is a boxed value type. This class cannot be inherited. More...
 
class  IsByRefLikeAttribute
 Indicates that a structure is byref-like. More...
 
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. More...
 
class  IsConst
 Indicates that the modified type has a const modifier. This class cannot be inherited. More...
 
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. More...
 
class  IsExplicitlyDereferenced
 Indicates that a managed pointer represents a pointer parameter within a method signature. This class cannot be inherited. More...
 
class  IsImplicitlyDereferenced
 Indicates that the modified garbage collection reference represents a reference parameter within a method signature. This class cannot be inherited. More...
 
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. More...
 
class  IsLong
 Indicates that a modified integer is a standard C++ long value. This class cannot be inherited. More...
 
class  IsPinned
 Indicates that a modified instance is pinned in memory. This class cannot be inherited. More...
 
class  IsReadOnlyAttribute
 Marks a program element as read-only. More...
 
class  IsSignUnspecifiedByte
 Indicates that a modifier is neither signed nor unsigned. This class cannot be inherited. More...
 
interface  IStrongBox
 Defines a property for accessing the value that an object references. More...
 
class  IsUdtReturn
 Indicates that a return type is a user-defined type. This class cannot be inherited. More...
 
class  IsVolatile
 Marks a field as volatile. This class cannot be inherited. More...
 
class  IteratorStateMachineAttribute
 Indicates whether a method in Visual Basic is marked with the Iterator modifier. More...
 
interface  ITuple
 Defines a general-purpose Tuple implementation that allows acccess to Tuple instance members without knowing the underlying Tuple type. More...
 
class  IUnknownConstantAttribute
 Indicates that the default value for the attributed field or parameter is an instance of T:System.Runtime.InteropServices.UnknownWrapper, where the P:System.Runtime.InteropServices.UnknownWrapper.WrappedObject is null. This class cannot be inherited. More...
 
class  MethodImplAttribute
 Specifies the details of how a method is implemented. This class cannot be inherited. More...
 
class  NativeCppClassAttribute
 Applies metadata to an assembly that indicates that a type is an unmanaged type. This class cannot be inherited. More...
 
class  ReadOnlyCollectionBuilder
 The builder for read only collection. More...
 
class  ReferenceAssemblyAttribute
 Identifies an assembly as a reference assembly, which contains metadata but no executable code. More...
 
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. More...
 
class  RuleCache
 Represents a cache of runtime binding rules. More...
 
class  RuntimeCompatibilityAttribute
 Specifies whether to wrap exceptions that do not derive from the T:System.Exception class with a T:System.Runtime.CompilerServices.RuntimeWrappedException object. This class cannot be inherited. More...
 
class  RuntimeFeature
 A class whose static M:System.Runtime.CompilerServices.RuntimeFeature.IsSupported(System.String) method checks whether a specified feature is supported by the common language runtime. More...
 
class  RuntimeHelpers
 Provides a set of static methods and properties that provide support for compilers. This class cannot be inherited. More...
 
class  RuntimeOps
 Contains helper methods called from dynamically generated methods. More...
 
class  RuntimeWrappedException
 Wraps an exception that does not derive from the T:System.Exception class. This class cannot be inherited. More...
 
class  ScopelessEnumAttribute
 Indicates that a native enumeration is not qualified by the enumeration type name. This class cannot be inherited. More...
 
class  SpecialNameAttribute
 Indicates that a type or member is treated in a special way by the runtime or tools. This class cannot be inherited. More...
 
class  StateMachineAttribute
 Allows you to determine whether a method is a state machine method. More...
 
class  StringFreezingAttribute
 Deprecated. Freezes a string literal when creating native images using the Ngen.exe (Native Image Generator). This class cannot be inherited. More...
 
class  StrongBox
 Holds a reference to a value. More...
 
class  SuppressIldasmAttribute
 Prevents the Ildasm.exe (IL Disassembler) from disassembling an assembly. This class cannot be inherited. More...
 
struct  TaskAwaiter
 Provides an object that waits for the completion of an asynchronous task. More...
 
class  TupleElementNamesAttribute
 Indicates that the use of a value tuple on a member is meant to be treated as a tuple with element names. More...
 
class  TypeForwardedFromAttribute
 Specifies a source T:System.Type in another assembly. More...
 
class  TypeForwardedToAttribute
 Specifies a destination T:System.Type in another assembly. More...
 
class  UnsafeValueTypeAttribute
 Specifies that a type contains an unmanaged array that might potentially overflow. This class cannot be inherited. More...
 
struct  YieldAwaitable
 Provides the context for waiting when asynchronously switching into a target environment. More...
 

Enumerations

enum  CompilationRelaxations { CompilationRelaxations.NoStringInterning = 0x8 }
 Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. More...
 
enum  LoadHint { LoadHint.Default, LoadHint.Always, LoadHint.Sometimes }
 Specifies the preferred default binding for a dependent assembly. More...
 
enum  MethodCodeType { MethodCodeType.IL, MethodCodeType.Native, MethodCodeType.OPTIL, MethodCodeType.Runtime }
 Defines how a method is implemented. More...
 
enum  MethodImplOptions {
  MethodImplOptions.Unmanaged = 0x4, MethodImplOptions.ForwardRef = 0x10, MethodImplOptions.PreserveSig = 0x80, MethodImplOptions.InternalCall = 0x1000,
  MethodImplOptions.Synchronized = 0x20, MethodImplOptions.NoInlining = 0x8, MethodImplOptions.AggressiveInlining = 0x100, MethodImplOptions.NoOptimization = 0x40
}
 Defines the details of how a method is implemented. More...
 

Enumeration Type Documentation

◆ CompilationRelaxations

Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler.

Enumerator
NoStringInterning 

Marks an assembly as not requiring string-literal interning.

Definition at line 9 of file CompilationRelaxations.cs.

◆ LoadHint

Specifies the preferred default binding for a dependent assembly.

Enumerator
Default 

No preference specified.

Always 

The dependency is always loaded.

Sometimes 

The dependency is sometimes loaded.

Definition at line 5 of file LoadHint.cs.

◆ MethodCodeType

Defines how a method is implemented.

Enumerator
IL 

Specifies that the method implementation is in Microsoft intermediate language (MSIL).

Native 

Specifies that the method is implemented in native code.

OPTIL 

Specifies that the method implementation is in optimized intermediate language (OPTIL).

Runtime 

Specifies that the method implementation is provided by the runtime.

Definition at line 8 of file MethodCodeType.cs.

◆ MethodImplOptions

Defines the details of how a method is implemented.

Enumerator
Unmanaged 

The method is implemented in unmanaged code.

ForwardRef 

The method is declared, but its implementation is provided elsewhere.

PreserveSig 

The method signature is exported exactly as declared.

InternalCall 

The call is internal, that is, it calls a method that is implemented within the common language runtime.

Synchronized 

The method can be executed by only one thread at a time. Static methods lock on the type, whereas instance methods lock on the instance. Only one thread can execute in any of the instance functions, and only one thread can execute in any of a class's static functions.

NoInlining 

The method cannot be inlined. Inlining is an optimization by which a method call is replaced with the method body.

AggressiveInlining 

The method should be inlined if possible.

NoOptimization 

The method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems.

Definition at line 10 of file MethodImplOptions.cs.