C#返回类型错误

时间:2016-09-25 19:55:55

标签: 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 Land("AL,ALB,Albanië,Republiek Albanië, Tirana,00355"),
            new Land("DZ,DZA,Algerije,Democratische Volksrepubliek Algerije,Algiers,00213")
        };
        return lijst;
    }
}

我的错误是:

  

错误CS0050可访问性不一致:返回类型   &#39;列表&#39;比方法&nbsp; landen.Lijst()&#39;

更难以获取

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

由于您的方法 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:@"https://api.gotinder.com/auth"]]; [request setHTTPMethod:@"POST"]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [request setValue:@"Tinder/6.1.0 (iPhone; iOS 9.3; Scale/2.00)" forHTTPHeaderField:@"User-Agent"]; [request setValue:@"ios" forHTTPHeaderField:@"platform"]; [request setValue:@"3" forHTTPHeaderField:@"app-version"]; [request setHTTPBody:postdata]; 是公开的,因此您应该检查List类的可见性。

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

检查this以了解C#中的辅助功能级别。

  

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

公开:访问不受限制。

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

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

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

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

您应该将List类定义为:

public static List<Land> Lijst()

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