EnumerableToDispatchMarshaler 类

定义

将 COM IDispatch 接口封送至 .NET Framework IEnumerable 接口,反之亦然。

public ref class EnumerableToDispatchMarshaler : System::Runtime::InteropServices::ICustomMarshaler
public class EnumerableToDispatchMarshaler : System.Runtime.InteropServices.ICustomMarshaler
type EnumerableToDispatchMarshaler = class
    interface ICustomMarshaler
Public Class EnumerableToDispatchMarshaler
Implements ICustomMarshaler
继承
EnumerableToDispatchMarshaler
实现

注解

此自定义封送处理器封送到IDispatch具有 DISPID 的 -4 成员时封送IEnumerable和封IEnumerableIDispatch送。 使用类型库导入程序(Tlbimp.exe)创建实现IEnumerable的类时,CLR 会自动使用此自定义封送器来桥接 COM 枚举器和.NET枚举器。 调用 GetEnumerator 结果以 IDispatch.Invoke DISPID 为 -4 调用,反之亦然。

构造函数

名称 说明
EnumerableToDispatchMarshaler()

提供静态类构造函数。

方法

名称 说明
CleanUpManagedData(Object)

不再需要托管数据时,执行必要的清理。

CleanUpNativeData(IntPtr)

在不再需要非托管数据时,执行必要的清理。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetInstance(String)

返回自定义封送处理器实例。

GetNativeDataSize()

返回要封送的非托管数据的大小(以字节为单位)。

GetType()

获取当前实例的 Type

(继承自 Object)
MarshalManagedToNative(Object)

将对象从托管代码封送到非托管代码。

MarshalNativeToManaged(IntPtr)

将对象从非托管代码封送到托管代码。

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于