我有一个与点语法有关的问题。

我有这种情况(我只粘贴相关的代码部分):

using UnityEngine;
using Assets.Code.Interfaces;
using Assets.Code.Scripts;
using System.Collections;  // dicionario
using System.Collections.Generic;  // dicionario

namespace Assets.Code.States

if (LoadDiagram.diagramaCarga.TryGetValue(gametime, out test)) // Returns true.
            {
                GUI.Box (new Rect (Screen.width - 650, 275, 50, 25),  test.ToString ());
            }


然后,我有了存储此LoadDiagram的脚本:

using UnityEngine;
using Assets.Code.Interfaces;
using System.Collections;  // dicionario
using System.Collections.Generic;  // dicionario
using System;
namespace AssemblyCSharp
{
    public class LoadDiagram
    {
        public LoadDiagram ()
        {
            Dictionary<int, float> diagramaCarga = new Dictionary<int, float>();

            diagramaCarga.Add(0, 4.2F);
            diagramaCarga.Add(1, 4F);
            diagramaCarga.Add(2, 3.6F);
            diagramaCarga.Add(3, 3.4F);
        }
    }
}


脚本之间的这种连接不起作用,出现此错误:


  错误CS0234:类型或名称空间名称Scripts' does not exist in the namespace Assets.Code'。您是否缺少装配参考?


在代码文件夹中,有一个名为scripts的文件夹,用于存储此LoadDiagram,所以我不知道如何解决此问题。任何帮助深表感谢。

最佳答案

尽管您的文件LoadDiagram在Scripts文件夹中,但不在名称空间“ Scripts”中。为此,将名称空间“ AssemblyCSharp”替换为“ Assets.Code.Scripts”,或仅使用using语句删除该名称空间。

关于c# - 使用Dot语法C#时的Unity Assembly引用错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34168862/

10-13 03:21