【问题标题】:Unity + PlayFab "Namespace Dictionary could not be found"Unity + PlayFab“找不到命名空间字典”
【发布时间】:2015-11-25 00:08:08
【问题描述】:

我正在尝试使用

UpdateUserData

向用户添加/更新键值对,但出现此错误:

Assets/PlayFabManager.cs(73,36):错误 CS0246:类型或命名空间 找不到名称“字典”。你错过了一个使用 指令还是程序集引用?

我尝试在谷歌上关注其他解决方案,但我无法让它们工作。我们怎样才能让它发挥作用?

我的代码:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using PlayFab;
using PlayFab.ClientModels;

public class PlayFabManager : MonoBehaviour {

    public string PlayFabId;

    void Login(string titleId)
    {
        LoginWithCustomIDRequest request = new LoginWithCustomIDRequest()
        {
            TitleId = titleId,
            CreateAccount = true,
            CustomId = SystemInfo.deviceUniqueIdentifier
        };

        PlayFabClientAPI.LoginWithCustomID(request, (result) => {
            PlayFabId = result.PlayFabId;
            Debug.Log("Got PlayFabID: " + PlayFabId);

            if(result.NewlyCreated)
            {
                Debug.Log("(new account)");
            }
            else
            {
                Debug.Log("(existing account)");
                SetUserData();
                GetUserData();
            }
        },
        (error) => {
            Debug.Log("Error logging in player with custom ID:");
            Debug.Log(error.ErrorMessage);
        });
    }

    void GetUserData()
    {
        GetUserDataRequest request = new GetUserDataRequest()
        {
            PlayFabId = PlayFabId,
            Keys = null
        };

        PlayFabClientAPI.GetUserData(request,(result) => {
            Debug.Log("Got user data:");
            if ((result.Data == null) || (result.Data.Count == 0))
            {
                Debug.Log("No user data available");
            }
            else
            {
                Debug.Log (result.Data["age"].Value);
                foreach (var item in result.Data)
                {
                    Debug.Log("    " + item.Key + " == " + item.Value.Value);
                }
            }
        }, (error) => {
            Debug.Log("Got error retrieving user data:");
            Debug.Log(error.ErrorMessage);
        });
    }

    void SetUserData()
    {
        UpdateUserDataRequest request = new UpdateUserDataRequest()
        {
            Data = new Dictionary(){
                {"Ancestor", "Arthur"},
                {"Successor", "Fred"}
            }
        };

        PlayFabClientAPI.UpdateUserData(request, (result) =>
                                        {
            Debug.Log("Successfully updated user data");
        }, (error) =>
        {
            Debug.Log("Got error setting user data Ancestor to Arthur");
            Debug.Log(error.ErrorDetails);
        });
    }

    void Awake(){
        PlayFabSettings.TitleId = "HIDDEN"; //your title id goes here.
    }

    // Use this for initialization
    void Start () {
        Login ("HIDDEN");

    }

    // Update is called once per frame
    void Update () {

    }
}

谢谢!

【问题讨论】:

    标签: c# dictionary unity3d


    【解决方案1】:

    我换了

        {
            Data = new Dictionary(){
                {"Ancestor", "Arthur"},
                {"Successor", "Fred"}
            }
        };
    

        request.Data = new Dictionary<string, string>();
        request.Data.Add("It's over", " 9000!!!");
    

    【讨论】:

      【解决方案2】:

      试试这个

                 Dictionary<string, string> Data = new Dictionary<string, string>(){
                      {"Ancestor", "Arthur"},
                      {"Successor", "Fred"}
                   };
      ​
      

      【讨论】:

      • 我复制并粘贴了它,我收到以下 2 个错误:错误 #1:“Assets/PlayFabManager.cs(73,55):错误 CS1526:新表达式需要 () 或 [] 之后类型”和错误 #2:“Assets/PlayFabManager.cs(76,26):错误 CS8032:解析期间出现内部编译器错误,使用 -v 运行以了解详细信息”
      • 右键UpdateUserDataRequest并选择“去定义”。你需要找出在method()中数据是如何声明的。你应该可以用request.Data替换Data。
      • 谢谢@jdweng,request.Data 确实是要走的路。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 2019-10-13
      相关资源
      最近更新 更多