c#函数不在命名空间中

时间:2018-04-15 13:19:54

标签: c#

我在一个包含其他cs文件的文件夹中声明了一个文件(UnstuckPackage.cs)。

在另一个cs文件中,我引用了这个文件(Using folder / UnstuckPackage.cs)。

当我在这个文件中调用类时,Visual Studio没有给出错误,但是当我编译解决方案时,它会产生错误并告诉我,我声明的类不在命名空间中或者不是引用的程序集。

在这个文件夹中有太多的cs文件在同一个程序中,但我记得只有这个(我之后添加的那个)无法识别。

代码摘录: UnstuckPackage.cs:

using game.Core;
using game.Domain;

namespace game.GameObject.CommandPackets
{
    [PacketHeader("$Unstuck", PassNonParseablePacket = true, Authority = 
    AuthorityType.User)]
    public class UnstuckPacket : PacketDefinition
    {
        public static string ReturnHelp()
        {
            return "$Unstuck";
        }
    }
}

回忆UnstuckPackage.cs的cs摘录:

using game.Domain;
using game.GameObject;
using game.GameObject.CommandPackets;

namespace game.Handler
{

    public class CommandPacketHandler : IPacketHandler
    {

        // <summary>
        //     $Unstuck Command
        // </summary>
        // <param name = "unstuckPacket" ></ param >
        public void Unstuck(UnstuckPacket unstuck_element)
        {
            // CODE HERE
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您需要使用它的命名空间/文件夹名称来引用该类。

namespace project.namespace
{
    class test
    {
    }
}

在其他课程中你必须做以下

using project.namespace;
namespace project.namespace2
{
        class test2
        {
             //access test class here
        }
}

如果该类存在于另一个项目或dll中,则必须使用项目属性添加对它们的引用,然后将using行添加到类命名空间。

编辑:类名称空间应与文件夹名称相同,请确保您没有对其进行任何更改,如果是,请使用它而不是文件夹名称。