Поделиться через


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

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

Классы

AccessedThroughPropertyAttribute

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

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

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

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

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

FixedAddressValueTypeAttribute

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

FixedBufferAttribute

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

FormattableStringFactory

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

HasCopySemanticsAttribute

Этот класс устарел. Этот класс не может быть унаследован.

IDispatchConstantAttribute

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

IndexerNameAttribute

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

InlineArrayAttribute

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

InternalsVisibleToAttribute

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

InterpolatedStringHandlerArgumentAttribute

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

InterpolatedStringHandlerAttribute

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

IsBoxed

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

IsByRefLikeAttribute

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

IsByValue

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

IsConst

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

IsCopyConstructed

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

IsExplicitlyDereferenced

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

IsExternalInit

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

IsImplicitlyDereferenced

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

IsJitIntrinsic

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

IsLong

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

IsPinned

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

IsReadOnlyAttribute

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

IsSignUnspecifiedByte

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

IsUdtReturn

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

IsUnmanagedAttribute

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

IsVolatile

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

IteratorStateMachineAttribute

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

IUnknownConstantAttribute

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

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 в другой сборке.

Unsafe

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

UnsafeAccessorAttribute

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

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 экземплярах.

PoolingAsyncValueTaskMethodBuilder

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

PoolingAsyncValueTaskMethodBuilder<TResult>

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

TaskAwaiter

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

TaskAwaiter<TResult>

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

ValueTaskAwaiter

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

ValueTaskAwaiter<TResult>

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

YieldAwaitable

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

YieldAwaitable.YieldAwaiter

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

Интерфейсы

IAsyncStateMachine

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

ICriticalNotifyCompletion

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

INotifyCompletion

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

IRuntimeVariables

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

IStrongBox

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

ITuple

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

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

CompilationRelaxations

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

LoadHint

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

MethodCodeType

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

MethodImplOptions

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

UnsafeAccessorKind

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

Делегаты

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

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

RuntimeHelpers.CleanupCode

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

RuntimeHelpers.TryCode

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

Комментарии

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