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