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{}
将是内部的。添加公共修饰符:公共类土地{}
。