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
实现

注解

当存在 DISPID 为 -4 的成员时,此自定义封送处理程序会封送IDispatchIEnumerable给 并封送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)

适用于