我收到错误
'主要':成员名称不能与其封闭类型相同 执行此代码。
此代码是从从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();
}
}
}
答案 0 :(得分:4)
您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
}
}
答案 1 :(得分:0)
错误说明了一切。
将其重命名为其他内容或重命名该类。
[STAThread]
static void Main()
{
Application.Run(new Main());
}
答案 2 :(得分:0)
在标准的Windows窗体项目中,Program.cs看起来就像是静态main方法。这是一个名为" Test"我刚刚做了:
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());
}
}
}
这只是告诉它在您的应用程序启动时要运行什么。
除了program.cs之外,该代码不应该是任何地方。看起来您的代码目前在您的Main类中,这就是您遇到问题的原因。