Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF服务和不一致的可访问性_C#_Wcf - Fatal编程技术网

C# WCF服务和不一致的可访问性

C# WCF服务和不一致的可访问性,c#,wcf,C#,Wcf,我不明白怎么了。错误:“不一致的可访问性:返回类型“Library.ServiceReference1.Author[]”比方法“Library.Funcs.GetAuthorsList()”更难访问” 为什么在DataContract类中有[OperationContract]属性,我相信这些属性在ServiceContract类之外是无效的 如果您定义只读属性而不是那些方法,它应该可以工作 [DataContract] public class Author { [DataMembe

我不明白怎么了。错误:“不一致的可访问性:返回类型“Library.ServiceReference1.Author[]”比方法“Library.Funcs.GetAuthorsList()”更难访问”


为什么在DataContract类中有[OperationContract]属性,我相信这些属性在ServiceContract类之外是无效的

如果您定义只读属性而不是那些方法,它应该可以工作

[DataContract]
public class Author
{
    [DataMember]
    private string FN, N, P;

    public string FamilyName
    {
        get { return FN; }
    }

    public string Name
    {
        get { return N; }
    }

    public string Patronymic
    {
        get { return P; }
    }

    public Author(string familyName, string name, string patronymic)
    {
        FN = familyName;
        N = name;
        P = patronymic;
    }
}

您的类上定义的[DataMember]属性是否具有私有可访问性级别?其中,作者类本身是公共的。私有属性在客户端上成为公共的。也许Constantor有问题?
[DataContract]
public class Author
{
    [DataMember]
    private string FN, N, P;

    public string FamilyName
    {
        get { return FN; }
    }

    public string Name
    {
        get { return N; }
    }

    public string Patronymic
    {
        get { return P; }
    }

    public Author(string familyName, string name, string patronymic)
    {
        FN = familyName;
        N = name;
        P = patronymic;
    }
}