C#返回类型错误

C#返回类型错误,c#,C#,这是我的代码: public class landen { public static List<Land> Lijst() { List<Land> lijst = new List<Land> { new Land("AF,AFG,Afghanistan,Islamitische Republiek AFghanistan,Kaboel,0093"), new

这是我的代码:

public class landen
{
    public static List<Land> Lijst()
    {
        List<Land> lijst = new List<Land>
        {
            new Land("AF,AFG,Afghanistan,Islamitische Republiek AFghanistan,Kaboel,0093"),
            new Land("AL,ALB,Albanië,Republiek Albanië, Tirana,00355"),
            new Land("DZ,DZA,Algerije,Democratische Volksrepubliek Algerije,Algiers,00213")
        };
        return lijst;
    }
}
public-class-landen
{
公共静态列表Lijst()
{
List lijst=新列表
{
新土地(“AF,AFG,阿富汗,阿富汗伊斯兰共和国,卡布尔,0093”),
新土地(“AL、ALB、Albanië、Albanië共和国、地拉那,00355”),
新土地(“DZ,DZA,阿尔及利亚,民主共和国,阿尔及尔,00213”)
};
返回lijst;
}
}
我的错误是:

错误CS0050不一致的可访问性:返回类型 “List”比方法“landen.Lijst()更难访问


如果您有一个自定义列表类,并且它比方法本身更难访问,则会发生这种错误


考虑将自定义列表公开。这应该可以解决问题。

如果您有一个自定义列表类,并且它比方法本身更难访问,则会发生这种错误


考虑将自定义列表公开。这应该可以解决问题。

正如错误所示,您试图返回的类实例的可见性修饰符(例如private、internal、protected、public)比您的方法更难访问

由于您的方法
public static List Lijst()
是public的,您应该检查List类的可见性

在这种情况下,只能从具有相同或更高可访问性的方法返回List的实例。检查以了解有关使用辅助功能级别时的限制的更多信息:

检查以了解C#中的可访问性级别

从更高的访问权限到更低的访问权限:

公共:访问不受限制

受保护:访问仅限于包含类或从包含类派生的类型

内部:访问权限仅限于当前程序集

受保护的内部:访问仅限于当前程序集或从包含类派生的类型

私有:访问权限仅限于包含的类型

您应该在某个地方将List类定义为:

**public** class List
{
...
}

可能它被定义为内部或受保护的内部,或者甚至没有任何修饰符,然后它是私有的,因此您会收到此错误。

正如错误所示,您试图返回具有可见性修饰符的类的实例-例如私有、内部、受保护、,公共-比您的方法更难访问

由于您的方法
public static List Lijst()
是public的,您应该检查List类的可见性

在这种情况下,只能从具有相同或更高可访问性的方法返回List的实例。检查以了解有关使用辅助功能级别时的限制的更多信息:

检查以了解C#中的可访问性级别

从更高的访问权限到更低的访问权限:

公共:访问不受限制

受保护:访问仅限于包含类或从包含类派生的类型

内部:访问权限仅限于当前程序集

受保护的内部:访问仅限于当前程序集或从包含类派生的类型

私有:访问权限仅限于包含的类型

您应该在某个地方将List类定义为:

**public** class List
{
...
}

可能它被定义为内部或受保护的内部,或者甚至没有任何修饰符,然后它是私有的,因此您会收到此错误。

您使用的是System.Collection命名空间中的列表,还是您定义的自定义类?这是一个新类,不在form1中。是否可以显示列表类声明?列表类必须是公共的。类
Land
声明为内部的。请记住,如果您声明的类没有显式修饰符,那么该类将是内部的,即,
classland{}
将是内部的。添加公共修饰符:
public class Land{}
。您使用的是System.Collection命名空间中的List,还是您定义的自定义类?这是一个新类,而不是表单1中的类。csCan显示列表类声明吗?列表类必须是公共的。类
Land
声明为内部类。请记住,如果您声明的类没有显式修饰符,那么该类将是内部的,即,
classland{}
将是内部的。添加公共修饰符:
公共类土地{}