这个方法有什么不对

本文关键字:什么 方法 | 更新日期: 2023-09-27 18:30:01

为什么我在LIST上得到这个错误:非静态字段、方法或属性需要对象引用。。。

       List<string> LIST = new List<string>(); 
       public static void GDT(RichTextBox ResultRTB1)
        {
            foreach (string Items in LIST)
            {
                //do something
            }
        }

这个方法有什么不对

声明变量LIST时不使用static关键字。通过这种方式,它被视为include类的实例成员。像GDT这样的静态方法不能在不声明类实例的情况下使用类的实例成员。您可以解决申报的问题

static List<string> LIST = new List<string>();

或者从GDT方法中删除static关键字,但不知道使用该方法和该变量的上下文,则不可能给出建议

试试这个

 private static List<string> LIST = new List<string>();

由于无法访问静态方法内部的实例成员,因此会出现错误。您需要一个对象实例来访问它。

或者试试这个

public static void GDT(RichTextBox ResultRTB1)
{
    YourType instance = new YourType();
    foreach (string Items in instance.LIST)
    {
        //do something
    }
}

您试图在静态方法中引用实例成员,或者将列表声明为静态,或者在方法中创建一个类实例,然后从那里访问列表。