C#返回类型错误

所以这是我的代码:

public class landen { public static List Lijst() { List lijst = new List { 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; } } 

我的错误是:

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

当错误指示时,您正在尝试返回具有可见性修饰符的类的实例 – 例如private,internal,protected,public – 这比您的方法更难访问。

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

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

检查这一点是为了了解C#中的可访问性级别。

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

public:访问不受限制。

protected:访问仅限于从包含类派生的包含类或类型。

internal:访问仅限于当前程序集。

protected internal:访问仅限于从包含类派生的当前程序集或类型。

private:访问仅限于包含类型。

您应该将List类定义为:

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

也许它被定义为内部或受保护的内部,或者甚至没有任何修饰符然后它是私有的,因此您正在接收此错误。

如果您有自定义List类,则会发生此类错误,并且它比方法本身更难访问。

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