IsCopyConstructed Klasa

Definicja

Wskazuje, że każda kopia wartości tego typu musi używać konstruktora kopiowania dostarczonego przez typ. Klasa ta nie może być dziedziczona.

C#
public static class IsCopyConstructed
C#
[System.Runtime.InteropServices.ComVisible(true)]
public static class IsCopyConstructed
Dziedziczenie
IsCopyConstructed
Atrybuty

Uwagi

Każdy typ zmodyfikowany przez IsCopyConstructed klasę musi zaimplementować metodę o nazwie , MarshalCopy która wywołuje natywny konstruktor kopiowania.

Każdy natywny typ języka C++, który jest emitowany do metadanych z konstruktorami kopiowania, musi mieć te metody wywoływane przez marszałka podczas kopiowania wartości w granicach marshalingu. Kompilator języka Microsoft C++ modyfikuje wszystkie natywne typy C++ w parametrach metody i zwraca typy, które mają ten modyfikator, aby wyzwolić to zachowanie w kodzie marshalingowym.

Kompilatory emitują niestandardowe modyfikatory w metadanych, aby zmienić sposób, w jaki kompilator just in time (JIT) obsługuje wartości, gdy zachowanie domyślne nie jest odpowiednie. Gdy kompilator JIT napotka modyfikator niestandardowy, obsługuje wartość w sposób określony przez modyfikatora. Kompilatory mogą stosować modyfikatory niestandardowe do metod, parametrów i zwracanych wartości. Kompilator JIT musi reagować na wymagane modyfikatory, ale może ignorować opcjonalne modyfikatory.

Niestandardowe modyfikatory można emitować do metadanych przy użyciu jednej z następujących technik:

Dotyczy

Produkt Wersje
.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