EnumerableToDispatchMarshaler Class
Marshals the COM IDispatch interface to the .NET Framework IEnumerable interface, and vice versa.
Assembly: CustomMarshalers (in CustomMarshalers.dll)
| Name | Description | |
|---|---|---|
![]() | CleanUpManagedData(Object^) | Performs necessary cleanup of the managed data when it is no longer needed. |
![]() | CleanUpNativeData(IntPtr) | Performs necessary cleanup of the unmanaged data when it is no longer needed. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() ![]() | GetInstance(String^) | Returns an instance of the custom marshaler. |
![]() | GetNativeDataSize() | Returns the size in bytes of the unmanaged data to be marshaled. |
![]() | GetType() | |
![]() | MarshalManagedToNative(Object^) | Marshals an object from managed code to unmanaged code. |
![]() | MarshalNativeToManaged(IntPtr) | Marshals an object from unmanaged code to managed code. |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
This custom marshaler marshals IDispatch to IEnumerable and marshals IEnumerable to IDispatch when a member with a DISPID of -4 exists. When you use the Type Library Importer (Tlbimp.exe) to create a class that implements IEnumerable , the CLR uses this custom marshaler automatically to bridge COM enumerators and .NET enumerators. Calling GetEnumerator results in IDispatch.Invoke being called with a DISPID of -4, and vice versa.
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


