示例#1
0
        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();
        }