Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';主&x27;:成员名称不能与其封闭类型相同_C# - Fatal编程技术网

C# ';主&x27;:成员名称不能与其封闭类型相同

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

我犯了一个错误

“Main”:成员名称不能与其封闭类型相同 执行此代码

此代码是从VB6迁移到CSharp的项目生成的。另外,请让我知道从VB6toCS迁移代码的最佳方法

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”。