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
- 实现
注解
此自定义封送处理器封送到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) |