假设我有以下 C# 代码,它接受带有 IEnumVARIANT 接口的 COM 对象:
public void EnumeratorParameter(
[MarshalAs(UnmanagedType.CustomMarshaler,
MarshalTypeRef = typeof(EnumeratorToEnumVariantMarshaler))]
IEnumerator enumerator) { }
为了编组它,我需要添加对 CustomMarshalers.dll 库的引用。但是,与 with 不同的是mscorlib.dll
,此库不是在AssemblyRef
元数据表中引用,而是通过表在 blob 堆中引用FieldMarshal
。为什么使用通过 blob 的引用?