c# - 错误:命名空间不直接包含字段或方法等成员
问题描述
以下是我尝试使用 Microsoft .Net 编译器通过命令“cs”编译的“Hello World”程序。
Using System
public class csharp1
{
private static void main()
{
console.writeline("yaaannn");
}
}
但我得到了错误:
CS0116:命名空间不直接包含字段或方法等成员
也是在 (1,1)
我检查了这个错误:
在上述问题中,编译是通过“Visual Studio”完成的。所以,当通过内置编译器和命令提示符进行编译时,我不确定关于“app.config”文件的内容是否正确。
然后我检查了以下问题:
Net.Reflector 中的“命名空间不能直接包含字段或方法等成员”
但是在这里我们可以看到有一个变量没有包含在类的大括号内,但是在这段代码中没有变量超出类的限制。
所以,我无法知道是什么导致了这个问题。
我以为我在“使用系统”之后缺少了一个分号,但这也引发了同样的错误。
解决方案
编译器认为:
Using System
... 正在尝试引入一个新成员,但这不是在类型的上下文中,这就是为什么您会收到稍微令人困惑的错误消息。C# 区分大小写(对于关键字和方法名称等)。using
指令必须是而using
不是Using
,并且它需要在末尾有一个分号:
using System;
您的代码仍然无法编译,因为:
- 你的
main
方法应该Main
是一个切入点。拥有一个名为 的方法是有效的(但非常规)main
,但是您的程序将没有入口点。 console.writeline
应该Console.WriteLine
因此,使其编译的最小更改是:
using System;
class csharp1
{
static void Main()
{
Console.WriteLine("yaaannn");
}
}
我还建议您遵循.NET 命名约定,这将为您的类命名Csharp1
(或者更常规Program
地为包含入口点的类命名)。对于任何重要的事情,您还希望将您的类放在命名空间中,尽管您不必这样做。
推荐阅读
- python - Pyinstaller 报错:系统无法访问文件
- amazon-web-services - 如何故障回复到亚马逊极光全球数据库中的第一个区域
- r - tidyverse 计算多列中每行的排名
- java - 如何使用 Builder 进行不同长度的输入?
- sql - 将聚合汇总为友好的文本
- google-app-engine - 我想提供存储在 Google Cloud Storage 中的 PDF 文件
- laravel - 如何使用 Post 方法将 Laravel Blade 值作为数组数据获取?
- reactjs - React Ionic,从通过路由组件定义的组件访问 App.tsx 方法
- google-sheets - 仅显示 Google 电子表格单元格中的前 10 个字符,后跟续行字符
- arrays - 打印多维数组的值