IsCopyConstructed クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この型の値をコピーする場合は、その型によって提供されるコピー コンストラクターを使用する必要があることを示します。 このクラスは継承できません。
public ref class IsCopyConstructed abstract sealed
[System.Runtime.InteropServices.ComVisible(true)]
public static class IsCopyConstructed
public static class IsCopyConstructed
[<System.Runtime.InteropServices.ComVisible(true)>]
type IsCopyConstructed = class
type IsCopyConstructed = class
Public Class IsCopyConstructed
- 継承
-
IsCopyConstructed
- 属性
注釈
IsCopyConstructed クラスによって変更されたすべての型は、ネイティブ コピー コンストラクターを呼び出す MarshalCopy という名前のメソッドを実装する必要があります。
コピー コンストラクターを使用してメタデータに出力されるネイティブ C++ 型には、マーシャリング境界を越えて値をコピーするときにマーシャラーによって呼び出されるメソッドが必要です。 Microsoft C++ コンパイラは、メソッド パラメーター内のすべてのネイティブ C++ 型を変更し、この修飾子を持つ戻り値の型を変更して、マーシャリング コードでこの動作をトリガーします。
コンパイラはメタデータ内でカスタム修飾子を出力し、既定の動作が適切でない場合に Just-In-Time (JIT) コンパイラが値を処理する方法を変更します。 JIT コンパイラは、カスタム修飾子を検出すると、修飾子が指定する方法で値を処理します。 コンパイラは、メソッド、パラメーター、および戻り値にカスタム修飾子を適用できます。 JIT コンパイラは必要な修飾子に応答する必要がありますが、省略可能な修飾子は無視できます。
次のいずれかの手法を使用して、カスタム修飾子をメタデータに出力できます。
DefineMethod、DefineField、DefineConstructor、DefinePropertyなど、TypeBuilder クラスのメソッドを使用する。
modoptおよびmodreqの呼び出しを含むMicrosoft中間言語 (MSIL) 命令ファイルを生成し、Ilasm.exe (IL アセンブラー) を使用してファイルをアセンブルします。アンマネージド リフレクション API の使用。