无法从静态过程中访问类的实例。C#

无法从静态过程中访问类的实例。C#,c#,C#,我不明白为什么这对我不起作用。我无法从过程GetFiles()中访问myList的实例。如果我复制代码并将其放在本地范围内,它就可以正常工作。但是,这并不是我真正想做的,因为我想从其他过程和/或函数访问myList对象。有人能详细说明一下吗 GetFileList myList = new GetFileList(@"c:\temp"); static void Main(string[] args) { GetFiles(); Conso

我不明白为什么这对我不起作用。我无法从过程GetFiles()中访问myList的实例。如果我复制代码并将其放在本地范围内,它就可以正常工作。但是,这并不是我真正想做的,因为我想从其他过程和/或函数访问myList对象。有人能详细说明一下吗

   GetFileList myList = new GetFileList(@"c:\temp");

   static void Main(string[] args)
    {

        GetFiles();
        Console.ReadKey();
    }

    public static void GetFiles()
    {
        //Gets files and lists last access time

        for (int i = 0; i < myList.fileList.Length; i++)
        {
            Console.WriteLine(myList.fileList[i]);

        }
    }
GetFileList myList=newgetfilelist(@“c:\temp”);
静态void Main(字符串[]参数)
{
GetFiles();
Console.ReadKey();
}
公共静态void GetFiles()
{
//获取文件并列出上次访问时间
for(int i=0;i
您需要像静态文件一样声明您的
myList

static GetFileList myList = new GetFileList(@"c:\temp");
为了能够在静态方法中访问它

或者,将其作为参数传递

GetFileList myList = new GetFileList(@"c:\temp");

public static void GetFiles(GetFileList listOfFiles)
{
    //Gets files and lists last access time

    for (int i = 0; i < listOfFiles.fileList.Length; i++) //using param
    {
        Console.WriteLine(listOfFiles.fileList[i]); //using param

    }
}

GetFiles(myList);
GetFileList myList=newgetfilelist(@“c:\temp”);
公共静态void GetFiles(GetFileList listOfFiles)
{
//获取文件并列出上次访问时间
for(int i=0;i
您不能从
静态
方法访问intance字段,因为
静态
方法不属于任何实例,因此您需要将
myList
声明为
静态

静态GetFileList myList…好的,这很有意义。谢谢!