private static void ReleaseIl2CppObjectIdentity(CppCodeWriter writer) { string str = Naming.ForIl2CppComObjectIdentityField(); writer.WriteLine($"if ({Naming.ThisParameterName}->{str} != {Naming.Null})"); using (new BlockWriter(writer, false)) { writer.WriteLine($"if ({Naming.ThisParameterName}->klass->is_import_or_windows_runtime)"); using (new BlockWriter(writer, false)) { writer.WriteLine($"il2cpp_codegen_il2cpp_com_object_cleanup({Naming.ThisParameterName});"); } writer.WriteLine($"{Naming.ThisParameterName}->{str}->Release();"); writer.WriteLine($"{Naming.ThisParameterName}->{str} = {Naming.Null};"); } writer.WriteLine(); }