C# ';主&x27;:成员名称不能与其封闭类型相同
我犯了一个错误 “Main”:成员名称不能与其封闭类型相同 执行此代码 此代码是从VB6迁移到CSharp的项目生成的。另外,请让我知道从VB6toCS迁移代码的最佳方法C# ';主&x27;:成员名称不能与其封闭类型相同,c#,C#,我犯了一个错误 “Main”:成员名称不能与其封闭类型相同 执行此代码 此代码是从VB6迁移到CSharp的项目生成的。另外,请让我知道从VB6toCS迁移代码的最佳方法 using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using System; using Microsoft.VisualBasic; namespace Project1 { public partial cl
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System;
using Microsoft.VisualBasic;
namespace Project1
{
public partial class Main : System.Windows.Forms.Form
{
public Main()
{
vb6Globals.Main = this;
InitializeComponent();
}
[STAThread]
static void Main()
{
Application.Run(new Main());
}
private void Command1_Click(System.Object _sender, System.EventArgs _e1)
{
this.Close();
vb6Globals.Form1.Show(null);
}
private void Command3_Click(System.Object _sender, System.EventArgs _e1)
{
this.Close();
vb6Globals.Database.Show(null);
}
private void Form_Unload(int Cancel)
{
this.Close();
}
}
}
错误说明了一切
将此重命名为其他名称或重命名该类
[STAThread]
static void Main()
{
Application.Run(new Main());
}
错误说明了一切
将此重命名为其他名称或重命名该类
[STAThread]
static void Main()
{
Application.Run(new Main());
}
您的static void Main()
方法与Main
类名冲突
我建议将Main
方法移动到名为Program.cs
的文件中的一个单独的类中(这是标准的)
大概是这样的:
public class Program
{
[STAThread]
public static void Main(string[] args)
{
Application.Run(new MainForm()); // use Form here, just to be clear
}
}
您的static void Main()
方法与Main
类名冲突
我建议将Main
方法移动到名为Program.cs
的文件中的一个单独的类中(这是标准的)
大概是这样的:
public class Program
{
[STAThread]
public static void Main(string[] args)
{
Application.Run(new MainForm()); // use Form here, just to be clear
}
}
在标准Windows窗体项目中,Program.cs看起来就像静态main方法。这是我刚做的一个名为“测试”的新项目的一个例子:
namespace Test
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
名称空间测试
{
静态类程序
{
///
///应用程序的主要入口点。
///
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(新Form1());
}
}
}
这只是简单地告诉它在应用程序启动时运行什么
除了program.cs之外,这些代码不应该出现在任何地方。您的代码当前似乎在主类中,这就是出现问题的原因。在标准Windows窗体项目中,Program.cs与静态Main方法类似。这是我刚做的一个名为“测试”的新项目的一个例子:
namespace Test
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
名称空间测试
{
静态类程序
{
///
///应用程序的主要入口点。
///
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(新Form1());
}
}
}
这只是简单地告诉它在应用程序启动时运行什么
除了program.cs之外,这些代码不应该出现在任何地方。看起来您的代码当前在主类中,这就是您遇到问题的原因。可能只是输入错误,但结尾不是额外的右括号吗?@Kevin一个用于类,另一个用于名称空间对不起,您是对的,如果缩进正确,它会有所帮助。不。。这不是一个输入错误。在一个名为
Main
的类中,有一个名为Main
的方法。我建议你将该类重命名为其他类,例如Program
。可能只是一个输入错误,但结尾不是一个额外的右括号吗?@Kevin一个用于该类,另一个用于名称空间对不起,你是对的,如果你的缩进是正确的,这会有帮助。不。。这不是一个打字错误。在一个名为Main
的类中有一个名为Main
的方法。我建议你将该类重命名为其他类,如Program
。我喜欢人们留下负面陈述,然后在大量相同答案涌入[smh]仍不起作用时将其删除。。找不到为Main方法指定的“Project1.Main”时出错coming@Paul斯威茨我本来打算回复他的评论,但他删除得太快了。无法足够快地恢复:(假设Visual Studio->右键单击项目选择属性,然后在“应用程序”选项卡中,将下拉启动对象设置为具有启动应用程序的真正主方法(通常为程序)的类,看起来它的设置为“Project1”出于某种原因,我喜欢人们留下负面评论,然后当大量相同的答案涌入时删除它们[smh]仍不工作..找不到为Main方法指定的“Project1.Main”错误coming@Paul斯威茨:我本来打算回复他的评论,但他删除得太快了。不能很快想出一个好的回复:(假设Visual Studio->右键单击项目选择属性,然后在“应用程序”选项卡中,将下拉启动对象设置为具有启动应用程序的真正主方法(通常为程序)的类,出于某种原因,该对象看起来像是设置为“Project1”。