public unsafe bool TryGetOrCreateNamedTypeForMetadata( MetadataReader metadataReader, TypeDefinitionHandle typeDefHandle, out RuntimeTypeHandle runtimeTypeHandle) { if (TryGetNamedTypeForMetadata(metadataReader, typeDefHandle, out runtimeTypeHandle)) { return true; } #if SUPPORTS_NATIVE_METADATA_TYPE_LOADING IntPtr moduleHandle = ModuleList.Instance.GetModuleForMetadataReader(metadataReader); IntPtr runtimeTypeHandleAsIntPtr; if (TryResolveSingleMetadataFixup( moduleHandle, typeDefHandle.ToHandle(metadataReader).ToInt(), MetadataFixupKind.TypeHandle, out runtimeTypeHandleAsIntPtr)) { runtimeTypeHandle = *(RuntimeTypeHandle*)&runtimeTypeHandleAsIntPtr; return true; } #endif return false; }