Прочитать на английском

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


IsCopyConstructed Класс

Определение

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

C#
public static class IsCopyConstructed
C#
[System.Runtime.InteropServices.ComVisible(true)]
public static class IsCopyConstructed
Наследование
IsCopyConstructed
Атрибуты

Комментарии

Любой тип, измененный классом IsCopyConstructed , должен реализовывать метод с именем MarshalCopy , который вызывает собственный конструктор копирования.

Любой собственный тип C++, который отправляется в метаданные с конструкторами копирования, должен иметь эти методы, вызываемые маршалером при копировании значений через границу маршалинга. Компилятор Microsoft C++ изменяет все собственные типы C++ в параметрах метода и возвращаемые типы, которые имеют этот модификатор для активации этого поведения в коде маршалинга.

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

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

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1