System.Runtime.CompilerServices Пространство имен

Предоставляет средства, позволяющие разработчикам компиляторов, использующим управляемый код, задавать в метаданных атрибуты, влияющие на поведение среды CLR во время выполнения.

Классы

AccessedThroughPropertyAttribute

Задает имя свойства, которое обращается к полю с атрибутами.

AsyncIteratorStateMachineAttribute

Указывает, является ли метод асинхронным итератором.

AsyncMethodBuilderAttribute

Указывает тип конструктора асинхронного метода, который должен применяться компилятором языка для создания типа с атрибутами, используемого в качестве типа возвращаемого значения асинхронного метода.

AsyncStateMachineAttribute

Указывает, помечен ли метод модификатором Async или async.

CallConvCdecl

Указывает, что метод должен использовать соглашение о вызовах Cdecl.

CallConvFastcall

Это соглашение о вызовах не поддерживается в данной версии платформы .NET.

CallConvMemberFunction

Указывает, что используемое соглашение о вызовах является функцией-членом Variant.

CallConvStdcall

Указывает, что метод должен использовать соглашение о вызовах StdCall.

CallConvSuppressGCTransition

Указывает, что метод должен подавлять переход GC в рамках соглашения о вызовах.

CallConvThiscall

Указывает, что метод должен использовать соглашение о вызовах ThisCall.

CallerArgumentExpressionAttribute

Разрешает захват выражений, передаваемых в метод.

CallerFilePathAttribute

Позволяет получить полный путь исходного файла, содержащего вызывающий объект. Это путь к файлу во время компиляции.

CallerLineNumberAttribute

Позволяет получить номер строки в исходном файле, в которой вызывается метод.

CallerMemberNameAttribute

Позволяет получить имя свойства или метода вызывающего метод объекта.

CallSite

Базовый класс динамического места вызова. Этот тип используется как тип параметра для целей динамического узла.

CallSite<T>

Тип динамического сайта.

CallSiteBinder

Класс, предназначенный для привязки динамических операций к динамическому источнику вызова в среде выполнения.

CallSiteHelpers

Класс, содержащий вспомогательные методы для источников вызова динамической среды выполнения (DLR).

CallSiteOps

Создает и кэширует правила привязки.

Closure

Представляет состояние динамически создаваемого метода во время выполнения.

CompilationRelaxationsAttribute

Контролирует точность кода, создаваемого JIT-компилятором среды CLR.

CompilerGeneratedAttribute

Отличает элемент, созданный компилятором, от элемента, созданного пользователем. Этот класс не наследуется.

CompilerGlobalScopeAttribute

Указывает, что класс следует интерпретировать как имеющий глобальную область.

CompilerMarshalOverride

Указывает, что измененный экземпляр переменной отличается от ее истинного типа при маршалинге. Этот класс не наследуется.

ConditionalWeakTable<TKey,TValue>

Позволяет компиляторам динамически прикреплять поля к управляемым объектам.

ContractHelper

Предоставляет методы, которые используются двоичным модулем перезаписи для обработки сбоев контракта.

CppInlineNamespaceAttribute

Определяет встроенное пространство имен в C++/CLI.

CreateNewOnMetadataUpdateAttribute

Указывает, что тип должен быть заменен, а не обновляться при применении обновлений метаданных.

CustomConstantAttribute

Определяет постоянное значение, которое компилятор может сохранять для поля или параметра метода.

DateTimeConstantAttribute

Сохраняет 8-байтовую константу типа DateTime для поля или параметра.

DebugInfoGenerator

Создает сведения отладки для лямбда-выражений в дереве выражений.

DecimalConstantAttribute

Сохраняет значение константы типа Decimal в метаданных. Этот класс не наследуется.

DefaultDependencyAttribute

Содержит подсказку для среды CLR, указывающую вероятность загрузки зависимости. Этот класс используется в зависимой сборке для указания подсказки, которую следует использовать, если родитель не указал атрибут DependencyAttribute. Этот класс не наследуется.

DependencyAttribute

Указывает, когда зависимость загружается ссылающейся сборкой. Этот класс не наследуется.

DisablePrivateReflectionAttribute

Указывает, что все закрытые члены, содержащиеся в типах сборки, недоступны для отражения.

DiscardableAttribute

Отмечает определение типа как удаляемое.

DynamicAttribute

Означает, что использование объекта Object с элементом следует рассматривать как динамически выполняемый тип.

EnumeratorCancellationAttribute

Позволяет пользователям методов с асинхронным перечислением пометить параметр, который должен принимать значение токена отмены из GetAsyncEnumerator(CancellationToken).

ExecutionScope

Представляет состояние динамически создаваемого метода во время выполнения.

ExtensionAttribute

Указывает, что метод является методом расширения либо что класс или сборка содержат методы расширения.

FixedAddressValueTypeAttribute

Фиксирует адрес поля со статическим типом значения в течение времени его существования. Этот класс не наследуется.

FixedBufferAttribute

Указывает, что поле должно считаться содержащим фиксированное число элементов указанного типа-примитива. Этот класс не наследуется.

FormattableStringFactory

Предоставляет статический метод для создания объекта FormattableString на основе строки составного формата и ее аргументов.

HasCopySemanticsAttribute

Этот класс устарел. Этот класс не наследуется.

IDispatchConstantAttribute

Указывает, что значение по умолчанию для параметра или поля с атрибутами является экземпляром DispatchWrapper, где свойство WrappedObject имеет значение null.

IndexerNameAttribute

Указывает имя, под которым индексатор известен в языках программирования, не поддерживающих индексаторы напрямую.

InternalsVisibleToAttribute

Задает, что типы, видимые обычно только в пределах текущей сборки, являются видимыми для заданной сборки.

InterpolatedStringHandlerArgumentAttribute

Указывает, какие аргументы метода, включающего интерполяцию строкового обработчика, должны передаваться этому обработчику.

InterpolatedStringHandlerAttribute

Указывает, что тип атрибута должен использоваться в качестве обработчика интерполяции строк.

IsBoxed

Указывает, что измененный ссылочный тип является упакованным типом значения. Этот класс не наследуется.

IsByRefLikeAttribute

Указывает, что структура имеет тип byref.

IsByValue

Указывает, что измененный аргумент метода следует интерпретировать как имеющий семантику объекта, передаваемого по значению. Данный модификатор применяется к ссылочным типам. Этот класс не наследуется.

IsConst

Указывает, что измененный тип имеет модификатор const. Этот класс не наследуется.

IsCopyConstructed

Указывает, что при любом копировании значений данного типа необходимо использовать конструктор копий, предоставляемый этим типом. Этот класс не наследуется.

IsExplicitlyDereferenced

Указывает, что управляемый указатель представляет параметр-указатель внутри сигнатуры метода. Этот класс не наследуется.

IsExternalInit

Зарезервировано для использования компилятором для отслеживания метаданных. Этот класс не должен использоваться разработчиками в исходном коде.

IsImplicitlyDereferenced

Указывает, что измененная ссылка на сборку мусора представляет ссылочный параметр с сигнатурой метода. Этот класс не наследуется.

IsJitIntrinsic

Указывает, что измененный метод является внутренним значением, для которого JIT-компилятор может генерировать особый код. Этот класс не наследуется.

IsLong

Указывает, что измененное целое число является стандартным значением long из C++. Этот класс не наследуется.

IsPinned

Указывает, что изменяемый экземпляр закреплен в памяти. Этот класс не наследуется.

IsReadOnlyAttribute

Отмечает элемент программы как предназначенный только для чтения.

IsSignUnspecifiedByte

Указывает, что наличие знака для модификатора не указано. Этот класс не наследуется.

IsUdtReturn

Указывает, что возвращаемый тип является пользовательским. Этот класс не наследуется.

IsVolatile

Помечает поле как переменное. Этот класс не наследуется.

IteratorStateMachineAttribute

Указывает, помечен ли метод в Visual Basic модификатором Iterator.

IUnknownConstantAttribute

Указывает, что значение по умолчанию для параметра или поля с атрибутами является экземпляром UnknownWrapper, где свойство WrappedObject имеет значение null. Этот класс не наследуется.

MethodImplAttribute

Сообщает подробные сведения о реализации метода. Этот класс не наследуется.

ModuleInitializerAttribute

Используется для указания компилятору, что метод должен вызываться в инициализаторе содержащего его модуля.

NativeCppClassAttribute

Применяет к сборке метаданные, указывающие, что тип является неуправляемым. Этот класс не наследуется.

PreserveBaseOverridesAttribute

Гарантирует, что любой виртуальный вызов метода, использующий базовую сигнатуру или производную сигнатуру метода, выполняет переопределение самого дальнего в цепочке объекта.

ReadOnlyCollectionBuilder<T>

Построитель для коллекции, предназначенной только для чтения.

ReferenceAssemblyAttribute

Идентифицирует сборку как ссылочную сборку, которая содержит метаданные, но не исполняемый код.

RequiredAttributeAttribute

Указывает, что импортирующий компилятор должен полностью понимать семантику определения типа либо отказаться от его использования. Этот класс не наследуется.

RuleCache<T>

Представляет кэш правил привязки времени выполнения.

RuntimeCompatibilityAttribute

Указывает, следует ли создавать оболочку для выражений, не являющихся производными от класса Exception, в виде объекта RuntimeWrappedException. Этот класс не наследуется.

RuntimeFeature

Определяет интерфейсы API, чтобы определить, поддерживаются ли средой CLR определенные функции.

RuntimeHelpers

Предоставляет набор статических методов и свойств для поддержки компиляторов. Этот класс не наследуется.

RuntimeOps

Содержит вспомогательные методы, вызываемые из динамически создаваемых методов.

RuntimeWrappedException

Создает оболочку для исключения, не являющегося производным от класса Exception. Этот класс не наследуется.

ScopelessEnumAttribute

Указывает, что машинное перечисление не уточняется именем типа перечисления. Этот класс не наследуется.

SkipLocalsInitAttribute

Указывает компилятору, что флаг инициализации .locals не следует задавать в заголовках вложенных методов при передаче в метаданные.

SpecialNameAttribute

Указывает, что тип или член интерпретируется особым образом средой выполнения или инструментами. Этот класс не наследуется.

StateMachineAttribute

Позволяет определить, является ли метод методом конечного компьютера.

StringFreezingAttribute

Не рекомендуется. Замораживает строковый литерал при создании машинных образов с помощью программы Ngen.exe (средство создания машинных образов). Этот класс не наследуется.

StrongBox<T>

Содержит ссылку на значение.

SuppressIldasmAttribute

Запрещает программе Ildasm.exe (дизассемблер IL) дизассемблировать сборку. Этот класс не наследуется.

SwitchExpressionException

Указывает, что выражению switch, не являющемуся исчерпывающим, не удалось сопоставить входные данные во время выполнения. Исключение при необходимости содержит объект, представляющий несовпадающее значение.

TupleElementNamesAttribute

Указывает, что использование кортежа значений для элемента должно обрабатываться как кортеж с именами элементов.

TypeForwardedFromAttribute

Указывает исходный класс Type в другой сборке.

TypeForwardedToAttribute

Указывает целевой Type в другой сборке.

Unsafe

Содержит универсальные низкоуровневые функции для работы с указателями.

UnsafeValueTypeAttribute

Указывает, что тип содержит неуправляемый массив, который может переполниться. Этот класс не наследуется.

Структуры

AsyncIteratorMethodBuilder

Представляет конструктор для асинхронных итераторов.

AsyncTaskMethodBuilder

Представляет конструктор для асинхронных методов, возвращающих задачу.

AsyncTaskMethodBuilder<TResult>

Представляет построитель для асинхронных методов, который возвращает задачу и предоставляет параметр для результата.

AsyncValueTaskMethodBuilder

Представляет конструктор для асинхронных методов, возвращающих задачу ValueTask.

AsyncValueTaskMethodBuilder<TResult>

Представляет конструктор для асинхронных методов, возвращающий задачу ValueTask<TResult>.

AsyncVoidMethodBuilder

Представляет конструктор для асинхронных методов, которые не возвращают никакое значение.

ConfiguredAsyncDisposable

Предоставляет тип, с помощью которого можно настраивать выполнение ожиданий для IAsyncDisposable.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Предоставляет асинхронный перечислитель типа awaitable, который обеспечивает допускающую отмену итерацию и настроенные ожидания.

ConfiguredCancelableAsyncEnumerable<T>

Предоставляет асинхронное перечисление типа awaitable, которое обеспечивает допускающую отмену итерацию и настроенные ожидания.

ConfiguredTaskAwaitable

Предоставляет объект типа awaitable, который включает настроенные объекты типа awaiter для задачи.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Предоставляет объект типа awaiter для объекта awaitable (ConfiguredTaskAwaitable).

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Предоставляет объект типа awaiter для объекта типа awaitable (ConfiguredTaskAwaitable<TResult>).

ConfiguredTaskAwaitable<TResult>

Предоставляет объект типа awaitable, который включает настроенные объекты типа awaiter для задачи.

ConfiguredValueTaskAwaitable

Предоставляет тип awaitable, который включает настроенные ожидания для задачи ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Предоставляет объект типа awaiter для ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Предоставляет объект типа awaiter для ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Предоставляет тип awaitable, который включает настроенные ожидания для задачи ValueTask<TResult>.

DefaultInterpolatedStringHandler

Предоставляет обработчик, используемый компилятором языка для обработки интерполяции строк в String экземплярах.

PoolingAsyncValueTaskMethodBuilder

Представляет конструктор для асинхронных методов, возвращающих задачу ValueTask.

PoolingAsyncValueTaskMethodBuilder<TResult>

Представляет конструктор для асинхронных методов, возвращающий задачу ValueTask<TResult>.

TaskAwaiter

Предоставляет объект, который ожидает завершения асинхронной задачи.

TaskAwaiter<TResult>

Представляет объект, который ожидает завершения асинхронной задачи и предоставляет параметр для результата.

ValueTaskAwaiter

Предоставляет объект типа awaiter для ValueTask.

ValueTaskAwaiter<TResult>

Предоставляет объект типа awaiter для ValueTask<TResult>.

YieldAwaitable

Предоставляет контекст для ожидания при асинхронном переключении на целевую среду.

YieldAwaitable.YieldAwaiter

Предоставляет контекст типа awaiter для переключения на целевую среду.

Интерфейсы

IAsyncStateMachine

Представляет конечные автоматы, созданные для асинхронных методов. Этот тип предназначен только для использования компилятором.

ICriticalNotifyCompletion

Представляет объект типа awaiter, который планирует продолжение работы после завершения операции await.

INotifyCompletion

Представляет операцию, которая планирует продолжение работы после ее завершения.

IRuntimeVariables

Представляет значения переменных среды выполнения.

IStrongBox

Определяет свойство для доступа к значению, на которое ссылается объект.

ITuple

Определяет реализацию кортежа общего назначения, предоставляющую доступ к членам экземпляра кортежа без сведений о базовом типе кортежа.

Перечисления

CompilationRelaxations

Указывает параметры, контролирующие точность кода, создаваемого JIT-компилятором среды CLR.

LoadHint

Задает предпочитаемую привязку по умолчанию для зависимой сборки.

MethodCodeType

Определяет способ реализации метода.

MethodImplOptions

Задает константы, определяющие подробности реализации метода.

Делегаты

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

Представляет метод, который создает значение не по умолчанию для добавления в качестве пары "ключ-значение" в объект ConditionalWeakTable<TKey,TValue>.

RuntimeHelpers.CleanupCode

Представляет метод, выполняемый в случае исключения.

RuntimeHelpers.TryCode

Представляет делегат для кода, который должен выполняться в блоке try.

Комментарии

Это пространство имен в основном предназначено для модулей записи компилятора, хотя некоторые из его классов, такие как InternalsVisibleToAttribute , используются в самых разных приложениях.