2016-08-15 79 views
0

林具有与统一全局命名空间中的C#统一C#全局命名空间

问题,我已经在两个单独的文件

FILE: MyUtil.cs 

using .... 
using .... 

public class MyUtil : Photon.PunBehaviour 
{ 
    public static IEnumerator DoStuff(string link) 
    { 
     WWW sss=new WWW(link); 
     yield return sss; 
    } 
} 



FILE: TestClass.cs 

using .... 
using .... 

namespace NewNameSpace { 
    public class TestClass : MonoBehaviour 
    { 
    public void useIt() 
    { 
     StartCoroutine(global::MyUtil.DoStuff("www.link.com")); <<< error here 
    } 
    } 
} 

下面的代码林在StartCoroutine线得到错误说“MyUtil”类本身在全局名称空间中找不到。

我想从useIt方法调用MyUtil.DoStuff,但它不会编译。

有人知道为什么吗?

感谢

+0

它应该只是没有'全球::'的工作,你有没有试过? –

+0

是的,我尝试了没有全球::,也尝试过“全球。”。但没有工作:( – programmer3

+0

你的资产文件夹中是否有'util.cs'或者它是否是你硬盘上的文件?你能用这两个文件的assets文件夹的屏幕截图编辑你的问题吗? –

回答

0

MyUtilMonoBehaviour,据我所知,该组件的名称必须与相匹配的文件名。如果不是,Unity不会编译它。

这就是编译器无法找到它的原因。

要解决此问题,请将util.cs的名称更改为MyUtil.cs。

+0

感谢您的评论,其实该文件已经MyUtil.cs(我在这里输入了错误) – programmer3

+0

但它仍然无法正常工作! – programmer3

0

脚本在Plugins文件夹不能看到其他文件夹中的脚本,但在其他文件夹中的脚本可以看到在插件脚本。

这是给我的问题是定位于Plugsins文件夹中的脚本。

这是造成这个问题的原因,所以我将脚本从插件移动到另一个文件夹,一切正常。

感谢大家的意见和帮助。