可访问性不一致

时间:2015-05-14 04:51:47

标签: c#

我采用了一个简单的界面

public interface IBinaryHelper
{
    toBinary ConvertToBinary(string pathBinary);
}

我正在尝试访问是在它下面的一个类

public class ApiHelper : IBinaryHelper
{
    private readonly RestClient _client;

    public toBinary ConvertToBinary(string pathBinary)
    {
        toBinary binary = null;
        var request = new RestRequest("SampleAPI/ConvertToBinary/{pathBinary}", Method.GET) { RequestFormat = DataFormat.Json };
        request.AddParameter("pathBinary", pathBinary, ParameterType.UrlSegment);
        var response = _client.Execute<toBinary>(request);
        binary = response.Data;
        return binary;
    }
}

现在,当构建它时,这是错误导致错误的Inconsisten可访问性:

  

在接口和类中的ApiHelper.toBinary方法中,返回类型ApiHelper.ApiHelper.ConvertToBinary(string)不如方法ConvertToBinary更易于访问

2 个答案:

答案 0 :(得分:2)

您正在公共类的公共方法中返回类型为toBinary的对象。

toBinary类的所有可能的调用者都需要ApiHelper.ConvertToBinary类 - 因此,它也应该是公开的。

答案 1 :(得分:1)

正如错误所说,不一致不是通过调用该方法,但self.verticalLayout.addWidget(listView) 显然是一个不是toBinary的类。如果无法公开访问返回类型,则无法提供public方法。

显然,您的public toBinary / class / interface / ...是structinternal,内部类......你也应该公开这个。

另一个提示:类的名称通常以大写字符开头。所以它应该是private而不是ToBinary