EnumerableToDispatchMarshaler 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 COM IDispatch
介面封送處理 (Marshal) 至 .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 和 封送IEnumerableIDispatch
處理。 當您使用類型庫匯入工具 (Tlbimp.exe) 建立實作 IEnumerable 的類別時,CLR 會自動使用此自定義封送處理器來橋接 COM 列舉值和 .NET 列舉值。 呼叫 GetEnumerator 會導致 IDispatch.Invoke
使用 -4 的 DISPID 呼叫,反之亦然。
建構函式
EnumerableToDispatchMarshaler() |
提供靜態類別建構函式。 |
方法
CleanUpManagedData(Object) |
針對不需要的 Managed 資料執行必要的清除。 |
CleanUpNativeData(IntPtr) |
針對不需要的 Unmanaged 資料執行必要的清除。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetInstance(String) |
傳回自訂封送處理器 (Marshaler) 的執行個體。 |
GetNativeDataSize() |
傳回待封送處理之 Unmanaged 資料的大小,以位元組為單位。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MarshalManagedToNative(Object) |
封送處理物件,從 Managed 程式碼到 Unmanaged 程式碼。 |
MarshalNativeToManaged(IntPtr) |
封送處理物件,從 Unmanaged 程式碼到 Managed 程式碼。 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |