首页 > 解决方案 > 无法将表达式转换为类型“Il2CppSystem.Object”C#

问题描述

我正在为统一资源管理器中的游戏编写脚本并不断遇到错误:

Unable to compile the code. Evaluator's last output was:
(22,45): error CS1503: Argument `#2' cannot convert `HandleUser.ReturnData' expression to
type `Il2CppSystem.Object'

这是代码:

using Epic.OnlineServices.Connect;
using System;

namespace HandleUser {
    
    public class ReturnData {
        int ProductUserId;
    }

    public class Handle
    {
        public void mycallback(DeleteDeviceIdCallbackInfo info) {
            /* Callback function */
        }
        
        public void Main(string[] args)
        {
            DeleteDeviceIdOptions options = new DeleteDeviceIdOptions();
            ReturnData data = new ReturnData();
            
            OnDeleteDeviceIdCallback callback = new OnDeleteDeviceIdCallback(mycallback);
            ConnectInterface.DeleteDeviceId(options, data, callback);
        }
    }
    
}

DeleteDeviceId方法的文档在这里

在文档中,它指定ClientData参数应该是 type void *(我不明白),但在 SDK 的源代码中,它指定它为 type object

public void DeleteDeviceId(DeleteDeviceIdOptions options, object clientData, OnDeleteDeviceIdCallback completionDelegate) 
{ ... }

传递给该方法的所有参数及其类型对我来说似乎都很好,但我一直遇到上述错误。如何着手修复它?

标签: c#unity3dil2cpp

解决方案


推荐阅读