C# 我不明白为什么我会得到这个“;“需要对象引用”;错误

C# 我不明白为什么我会得到这个“;“需要对象引用”;错误,c#,exception,object,reference,error-handling,C#,Exception,Object,Reference,Error Handling,这段代码读取一个文件数组,并将它们传递到下面的类库 private void btnConvert_Click(object sender, EventArgs e) { if (rbtnNetIX.Checked == true) { string[] files = Directory.GetFiles(txtPath.Text, "*.txt"); NetEDI.NetIX.Seiko.Seik

这段代码读取一个文件数组,并将它们传递到下面的类库

    private void btnConvert_Click(object sender, EventArgs e)
    {
        if (rbtnNetIX.Checked == true)
        {
            string[] files = Directory.GetFiles(txtPath.Text, "*.txt");
            NetEDI.NetIX.Seiko.Seiko.Main(files);

        }
应该由以下代码引用

public class Seiko
{
    public void Main(string[] args)
    {
        List<FileDefinition.FileDefinition> fileDefs = new List<FileDefinition.FileDefinition>();
        foreach (string fileEntries in args)
        {

            fileDefs.Add(CreateFileDef(fileEntries));
        }

        foreach (var fileDef in fileDefs)
        {
            XmlCreator CreateXmlDefinition = new XmlCreator(fileDef.FileName + ".xml", fileDef);
        }
    }
公共级精工
{
公共void Main(字符串[]参数)
{
List fileDefs=新列表();
foreach(参数中的字符串文件项)
{
添加(CreateFileDef(fileEntries));
}
foreach(fileDefs中的var fileDef)
{
XmlCreator CreateXmlDefinition=新的XmlCreator(fileDef.FileName+“.xml”,fileDef);
}
}

Main不是静态的,因此您需要先对
Seiko
类进行对象引用,才能调用它


因此,这里:
NetEDI.NetIX.Seiko.Seiko.Main(文件);
-这是对非静态方法的静态调用,因此出现错误。

查看您的
Main
方法声明:

public void Main(string[] args)
这是一个实例方法-您必须在
Seiko
的实例上调用它。但是当您尝试在此处调用它时:

NetEDI.NetIX.Seiko.Seiko.Main(files);
…您试图调用它,就好像它是一个静态方法一样

考虑到
Main
的惯例,我强烈怀疑您希望将其变成一个静态方法


(顺便说一句,您可能应该修改静态成员和实例成员之间的区别,并重新查看错误消息:看看您是否能够自己解决为什么没有解决问题,以便下次遇到类似问题时,您可以修复它。)

哪一行导致异常?您对此进行了调试吗?谢谢。我已经找了1.5个小时的答案,如果允许,我会标记为答案(等待10分钟)