Because the reference appears in an [attribute]. The attribute data that's used when the attribute class is instantiated is stored in the blob table. More about that in this answer.
Marshaling IEnumVARIANT: reference to CustomMarshalers.dll in blob?
-
01-07-2022 - |
문제
Suppose I have the following C# code that accepts a COM object with IEnumVARIANT interface:
public void EnumeratorParameter(
[MarshalAs(UnmanagedType.CustomMarshaler,
MarshalTypeRef = typeof(EnumeratorToEnumVariantMarshaler))]
IEnumerator enumerator) { }
To marshal it, I need to add a reference to CustomMarshalers.dll library. However, unlike with mscorlib.dll
, this library is referenced not in with AssemblyRef
metadata table but in blob heap via FieldMarshal
table. Why the reference via blob is used?
해결책
제휴하지 않습니다 StackOverflow