无法找到命名空间的类型

  • 本文关键字:类型 命名空间 c#
  • 更新时间 :
  • 英文 :


我用。net 6创建了一个程序。当我创建添加一个类,然后在主实例化它。我得到错误

错误CS0246类型或命名空间名称'AbilityScoreCalculator'无法找到(您是否缺少using指令或程序集引用?)

类代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ability_Score_Calculator
{
internal class AbilityScoreCalculator
{
// ...
public void CalculateAbilityScore()
{
// ..
}
}
}

主方法代码

AbilityScoreCalculator calculator = new AbilityScoreCalculator();

然而,当我在。net 5中做同样的事情时,一切都很好,如下所示

类代码如上

主方法代码

using System;
namespace Ability_Score_Calculator
{
internal class Program
{
static void Main(string[] args)
{
AbilityScoreCalculator calculator = new AbilityScoreCalculator();

}
}
}

我假设你的。net 6"主方法代码"正在使用顶级语句,其中

AbilityScoreCalculator calculator = new AbilityScoreCalculator();

是Program.cs文件的全部内容。没有显式类,没有花括号,没有其他任何东西。

当您使用Top Level Statements时,该文件中的代码不属于任何名称空间(这在技术上可能不是为真,但实际上已经足够好了)。正因为如此,编译器是正确的,它不知道AbilityScoreCalculator类型。您需要使用using语句将它引入作用域。

// this is the ENTIRE contents of the Program.cs file
using Ability_Score_Calculator;
AbilityScoreCalculator calculator = new AbilityScoreCalculator();

最新更新