2010-12-01 63 views
0

我不明白什麼是錯的。錯誤: 「可訪問性不一致:返回類型 'Library.ServiceReference1.Author []' 大於法 'Library.Funcs.GetAuthorsList()' 不太容易接近」WCF服務和不一致的訪問

//class in DLL  
[DataContract] 
public class Author 
{ 
    [DataMember] 
    private string FN, N, P; 
    [OperationContract] 
    public string GetFamilyName() 
    { 
     return FN; 
    } 
    [OperationContract] 
    public string Name() 
    { 
     return N; 
    } 
    [OperationContract] 
    public string Patronymic() 
    { 
     return P; 
    } 
    public Author(string familyName, string name, string patronymic) 
    { 
     FN = familyName; 
     N = name; 
     P = patronymic; 
    } 
} 
//in service 
public Author[] GetAuthorsList() 
    { 
     return DB.Singleton.GetAuthorsList().ToArray(); 
    } 
+0

不是問題,關於你的類[數據成員]定義的屬性有私人無障礙環境水平?作者類本身是公開的。 – 2010-12-01 23:02:57

回答

1

爲什麼你在你的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; 
    } 
}