其他方法在静态方法中看不到

Leo*_*nto -1 c# static-methods console-application

我正在尝试使用LINQ to Colletion但问题是方法ShowLINQ()无法在方法中看到Main().

class Program
{
    static void Main(string[] args)
    {
        ShowLINQ();//Error line
    }

    public void ShowLINQ()
    {
        List<Element> elements = BuildList();
        var query = from d in elements
                    where d.AtomicNumber < 22
                    orderby d.Name
                    select d;

        foreach (Element d in query)
        {
            Console.WriteLine(d.Name + " " + d.AtomicNumber);
        }
    }
    Snippet...
}
Run Code Online (Sandbox Code Playgroud)

Sim*_*ead 5

static基本上,你的意思是你不需要new一个物体来看它.它适用于该类的所有实例.

没有static,你必须有new一个对象来看它.

如果要从static方法与另一个方法进行通信,那么其他方法也必须如此static.

但请注意,反过来情况并非如此.您可以从实例方法到static方法进行通信而不会出现问题.

因此,您的解决方案是标记您的其他方法static以及它们共享的任何变量.