其他方法可以';t参见静态方法

本文关键字:静态方法 方法 其他 | 更新日期: 2023-09-27 18:21:12

我正在尝试使用LINQ来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...
}

其他方法可以';t参见静态方法

static基本上意味着不需要new一个对象就可以看到它。它适用于该类的所有实例

如果没有static,您必须new一个对象才能看到它

如果要从一个static方法与另一个方法进行通信,则该另一方法也必须是static

然而,请注意,情况并非如此。您可以在没有问题的情况下从实例方法通信到static方法。

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