C# web服务类型的复杂性

C# web服务类型的复杂性,c#,wcf,C#,Wcf,我已经使用WCF开发了一些基本的web服务。到目前为止,返回类型相当简单。以下是正常运行的运营合同: [OperationContract] string Vessel(int ID); //lists all vessel [OperationContract] List<string> Vessels(); [OperationContract] List<string> PortsLike(string LikeStr); [OperationContract

我已经使用WCF开发了一些基本的web服务。到目前为止,返回类型相当简单。以下是正常运行的运营合同:

[OperationContract]
string Vessel(int ID);

//lists all vessel
[OperationContract]
List<string> Vessels();

[OperationContract]
List<string> PortsLike(string LikeStr);

[OperationContract]
Port GetPort(string name);
以下是我从编译器中得到的错误:

错误1“VOps.VOpsService”未实现接口成员“VOps.IVOpsService.Vessers(System.Collections.Generic.List,System.Collections.Generic.List)”VOps.VOpsService.Vessers(System.Collections.Generic.List,System.Collections.Generic.List)无法实现接口成员,因为它不是公共的


您不应该在成对构造函数上有[DataMember]。

我没有将服务实现声明为公共的。

请参阅上面的评论,如果没有构造函数修饰符,则无法工作。Ìt无法编译。。。。你不告诉我们错误吗?美好的
[OperationContract]
List<Pair> Vessels(List<string> fields, List<Criterion> criteria); 
[DataContract]
public class Criterion
{
    [DataMember]
    public string Key { get; set; }
    [DataMember]
    public string Operator { get; set; }
    [DataMember]
    public string Value { get; set; }
}

[DataContract]
public class Pair
{
    [DataMember]
    public string Key { get; set; }

    [DataMember]
    public string Value { get; set; }

    public Pair(string key, string value)
    {
        this.Key = key;
        this.Value = Value;
    }
}