IsCopyConstructed 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示对此类型的值的任何复制操作都必须使用由该类型提供的复制构造函数。 此类不能被继承。
public ref class IsCopyConstructed abstract sealed
public static class IsCopyConstructed
[System.Runtime.InteropServices.ComVisible(true)]
public static class IsCopyConstructed
type IsCopyConstructed = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type IsCopyConstructed = class
Public Class IsCopyConstructed
- 继承
-
IsCopyConstructed
- 属性
注解
类 IsCopyConstructed 修改的任何类型都必须实现调用本机复制构造函数的名为 MarshalCopy
的方法。
使用复制构造函数发送到元数据的任何本机 C++ 类型,在跨封送处理边界复制值时,都需要具有封送处理器调用的这些方法。 Microsoft C++ 编译器修改方法参数中的所有本机 C++ 类型,并返回具有此修饰符的类型,以在封送代码中触发此行为。
编译器在元数据中发出自定义修饰符,以更改实时 (JIT) 编译器在默认行为不适用时处理值的方式。 当 JIT 编译器遇到自定义修饰符时,它将按照修饰符指定的方式处理值。 编译器可以将自定义修饰符应用于方法、参数和返回值。 JIT 编译器必须响应所需的修饰符,但可以忽略可选修饰符。
可以使用以下技术之一向元数据发出自定义修饰符:
在 类中使用 TypeBuilder 方法,例如 DefineMethod、 DefineField、 DefineConstructor和 DefineProperty。
生成 Microsoft 中间语言 (MSIL) 指令文件,该文件包含 对
modopt
和modreq
的调用,并使用 Ilasm.exe (IL 汇编程序) 组合文件。使用非托管反射 API。