我有一个带有程序的解决方案(ConsoleApp6).cs和狗.Visual Studio中的cs

ConsoleApp6.Dog dog = new ConsoleApp6.Dog(); //works

Dog dog = new Dog();  //does not

错误消息显示:找不到类型或命名空间"Dog".即使我遵循修复,让VS创建一个新的类狗,它也不会意识到这一点.

推荐答案

你们所看到的是"top level statements" feature年的结果

添加了支持,这样您就可以"只编写代码",而不必声明命名空间和包含Main方法的Program类.

结果是,这个"顶级层"中的所有内容都不是任何命名空间的一部分,这意味着对具有命名空间的类的每个引用都将导致完全限定if you don't include the 100 at the top of the file.

因此,您的解决方案是在文件顶部添加以下内容:

using ConsoleApp6;

Dog dog = new Dog();  // works now

Note: this is a C#9 feature and not a .NET6 feature.

Csharp相关问答推荐

.NET最小API映射将T参数列表为[FromQuery]

解析需要HttpClient和字符串的服务

Elasticsearch:当我try 使用c#将嵌套对象添加到filter中时出现问题

为什么Blazor值在更改后没有立即呈现?

如何在C#中使用正则表达式抓取用逗号分隔的两个单词?

选取器与.NET Maui MVVM的绑定属性

如何解决提交按钮后 Select 选项错误空参照异常

如何在ASP.NET Core8中启用REST应用程序的序列化?

持有者安全定义未显示在Swagger.NET 8中

GODOT 4向C#中的字符串参数发送信号以等待

在ASP.NET Core 8 MVC中本地化共享视图

如何从另一个类的列表中按ID取值

ASP.NET MVC数据批注验证组复选框

VS代码扩展无法在新版本扩展C#中运行从v2.10.28开始

为什么我的自定义Json.net转换器不工作?

Autofac -动态实例化:手动传递构造函数

使用SQL Server 2022+时,我是否必须将代码从SqlConnection类对象中迁移出来?

如何将行添加到DataGrid以立即显示它?

在Swagger中显示自定义属性的属性名称

无法将';无效';转换为';bool';