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

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

Классы

Имя Описание
AccessedThroughPropertyAttribute

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

AsyncHelpers

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

AsyncIteratorStateMachineAttribute

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

AsyncMethodBuilderAttribute

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

AsyncStateMachineAttribute

Указывает, помечен ли метод модификатором Асинхронного или асинхронного модификатора.

CallConvCdecl

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

CallConvFastcall

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

CallConvMemberFunction

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

CallConvStdcall

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

CallConvSuppressGCTransition

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

CallConvSwift

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

CallConvThiscall

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

CallerArgumentExpressionAttribute

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

CallerFilePathAttribute

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

CallerLineNumberAttribute

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

CallerMemberNameAttribute

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

CallSite

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

CallSite<T>

Динамический тип сайта.

CallSiteBinder

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

CallSiteHelpers

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

CallSiteOps

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

Closure

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

CollectionBuilderAttribute

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

CompilationRelaxationsAttribute

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

CompilerFeatureRequiredAttribute

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

CompilerGeneratedAttribute

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

CompilerGlobalScopeAttribute

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

CompilerLoweringPreserveAttribute

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

CompilerMarshalOverride

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

ConditionalWeakTable<TKey,TValue>

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

ContractHelper

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

CppInlineNamespaceAttribute

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

CreateNewOnMetadataUpdateAttribute

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

CustomConstantAttribute

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

DateTimeConstantAttribute

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

DebugInfoGenerator

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

DecimalConstantAttribute

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

DefaultDependencyAttribute

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

DependencyAttribute

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

DisablePrivateReflectionAttribute

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

DisableRuntimeMarshallingAttribute

Отключает встроенную подсистему маршаллинга среды выполнения, управляемую или неуправляемую подсистему маршаллинга для P/Invokes, типов делегатов и неуправляемых вызовов указателя функции.

DiscardableAttribute

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

DynamicAttribute

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

EnumeratorCancellationAttribute

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

ExecutionScope

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

ExtensionAttribute

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

ExtensionMarkerAttribute

Представляет атрибут, используемый для пометки элементов расширения и связывания их с определенным типом маркера (который предоставляет подробные сведения о блоке расширения и его параметре приемника).

FixedAddressValueTypeAttribute

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

FixedBufferAttribute

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

FormattableStringFactory

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

HasCopySemanticsAttribute

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

IDispatchConstantAttribute

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

IndexerNameAttribute

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

InlineArrayAttribute

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

InternalsVisibleToAttribute

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

InterpolatedStringHandlerArgumentAttribute

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

InterpolatedStringHandlerAttribute

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

IsBoxed

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

IsByRefLikeAttribute

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

IsByValue

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

IsConst

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

IsCopyConstructed

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

IsExplicitlyDereferenced

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

IsExternalInit

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

IsImplicitlyDereferenced

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

IsJitIntrinsic

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

IsLong

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

IsPinned

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

IsReadOnlyAttribute

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

IsSignUnspecifiedByte

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

IsUdtReturn

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

IsUnmanagedAttribute

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

IsVolatile

Помечает поле как изменяющийся. Этот класс не наследуется.

IteratorStateMachineAttribute

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

IUnknownConstantAttribute

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

MemorySafetyRulesAttribute

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

MetadataUpdateDeletedAttribute

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

MetadataUpdateOriginalTypeAttribute

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

MethodImplAttribute

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

ModuleInitializerAttribute

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

NativeCppClassAttribute

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

NullableAttribute

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

NullableContextAttribute

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

NullablePublicOnlyAttribute

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

OverloadResolutionPriorityAttribute

Указывает приоритет члена в разрешении перегрузки. Если не указано, приоритет по умолчанию равен 0.

ParamCollectionAttribute

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

PreserveBaseOverridesAttribute

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

ReadOnlyCollectionBuilder<T>

Построитель только для чтения коллекции.

ReferenceAssemblyAttribute

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

RefSafetyRulesAttribute

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

RequiredAttributeAttribute

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

RequiredMemberAttribute

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

RequiresLocationAttribute

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

RuleCache<T>

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

RuntimeCompatibilityAttribute

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

RuntimeFeature

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

RuntimeHelpers

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

RuntimeOps

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

RuntimeWrappedException

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

ScopedRefAttribute

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

ScopelessEnumAttribute

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

SkipLocalsInitAttribute

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

SpecialNameAttribute

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

StateMachineAttribute

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

StringFreezingAttribute

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

StrongBox<T>

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

SuppressIldasmAttribute

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

SwitchExpressionException

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

TupleElementNamesAttribute

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

TypeForwardedFromAttribute

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

TypeForwardedToAttribute

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

UnionAttribute

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

Unsafe

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

UnsafeAccessorAttribute

Предоставляет доступ к недоступному элементу определенного типа.

UnsafeAccessorTypeAttribute

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

UnsafeValueTypeAttribute

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

Структуры

Имя Описание
AsyncIteratorMethodBuilder

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

AsyncTaskMethodBuilder

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

AsyncTaskMethodBuilder<TResult>

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

AsyncValueTaskMethodBuilder

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

AsyncValueTaskMethodBuilder<TResult>

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

AsyncVoidMethodBuilder

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

ConfiguredAsyncDisposable

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

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

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

ConfiguredCancelableAsyncEnumerable<T>

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

ConfiguredTaskAwaitable

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

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

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

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Предоставляет средство ожидания для ожидаемого объекта (ConfiguredTaskAwaitable<TResult>).

ConfiguredTaskAwaitable<TResult>

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

ConfiguredValueTaskAwaitable

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

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Предоставляет средство ожидания для ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Предоставляет средство ожидания для ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

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

DefaultInterpolatedStringHandler

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

InlineArray10<T>

Представляет встроенный массив T с фиксированной длиной 10.

InlineArray11<T>

Представляет встроенный массив T с фиксированной длиной 11.

InlineArray12<T>

Представляет встроенный массив T с фиксированной длиной 12.

InlineArray13<T>

Представляет встроенный массив T с фиксированной длиной 13.

InlineArray14<T>

Представляет встроенный массив T с фиксированной длиной 14.

InlineArray15<T>

Представляет встроенный массив T с фиксированной длиной 15.

InlineArray16<T>

Представляет встроенный массив T с фиксированной длиной 16.

InlineArray2<T>

Представляет встроенный массив T с фиксированной длиной 2.

InlineArray3<T>

Представляет встроенный массив T с фиксированной длиной 3.

InlineArray4<T>

Представляет встроенный массив T с фиксированной длиной 4.

InlineArray5<T>

Представляет встроенный массив T с фиксированной длиной 5.

InlineArray6<T>

Представляет встроенный массив T с фиксированной длиной 6.

InlineArray7<T>

Представляет встроенный массив T с фиксированной длиной 7.

InlineArray8<T>

Представляет встроенный массив T с фиксированной длиной 8.

InlineArray9<T>

Представляет встроенный массив T с фиксированной длиной 9.

PoolingAsyncValueTaskMethodBuilder

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

PoolingAsyncValueTaskMethodBuilder<TResult>

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

TaskAwaiter

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

TaskAwaiter<TResult>

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

ValueTaskAwaiter

Предоставляет средство ожидания для ValueTask.

ValueTaskAwaiter<TResult>

Предоставляет средство ожидания для ValueTask<TResult>.

YieldAwaitable

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

YieldAwaitable.YieldAwaiter

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

Интерфейсы

Имя Описание
IAsyncStateMachine

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

ICriticalNotifyCompletion

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

INotifyCompletion

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

IRuntimeVariables

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

IStrongBox

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

ITuple

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

IUnion

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

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

Имя Описание
CompilationRelaxations

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

LoadHint

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

MethodCodeType

Определяет, как реализуется метод.

MethodImplOptions

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

UnsafeAccessorKind

Указывает тип целевого объекта, к которому предоставляется доступ UnsafeAccessorAttribute.

Делегаты

Имя Описание
ConditionalWeakTable<TKey,TValue>.CreateValueCallback

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

RuntimeHelpers.CleanupCode

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

RuntimeHelpers.TryCode

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

Комментарии

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