ICustomMarshaler 接口

旨在提供用于处理方法调用的自定义包装。

**命名空间:**System.Runtime.InteropServices
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
Public Interface ICustomMarshaler
用法
Dim instance As ICustomMarshaler
[ComVisibleAttribute(true)] 
public interface ICustomMarshaler
[ComVisibleAttribute(true)] 
public interface class ICustomMarshaler
/** @attribute ComVisibleAttribute(true) */ 
public interface ICustomMarshaler
ComVisibleAttribute(true) 
public interface ICustomMarshaler

备注

若要使用自定义封送拆收器,必须将 MarshalAsAttribute 应用于正在封送的参数或字段。还必须将 UnmanagedType.CustomMarshaler 传递给它的构造函数并指定 MarshalType。该属性标识适当的自定义封送拆收器以激活适当的包装。然后,公共语言运行库的 Interop 服务就会在封送参数时检查该属性并创建自定义封送拆收器。它调用自定义封送拆收器的 MarshalNativeToManagedMarshalManagedToNative 方法来激活正确的包装以处理调用。

除了实现 ICustomMarshaler 接口以外,自定义封送拆收器还必须实现一个名为 GetInstancestatic 方法。此方法接受一个 String 作为参数,并且返回类型为 ICustomMarshaler。此 static 方法由公共语言运行库的 COM Interop 层调用,用以实例化自定义封送拆收器的实例。传递给 GetInstanceString 是一个 Cookie,该方法可用它来自定义返回的自定义封送拆收器。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

ICustomMarshaler 成员
System.Runtime.InteropServices 命名空间