EnumerableToDispatchMarshaler 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 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 的成员时,此自定义封送处理程序会封送IDispatch
IEnumerable给 并封送IEnumerable给 IDispatch
。 使用类型库导入程序 (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) |