1

我需要使用服务堆栈调用第 3 方休息 api,这工作正常。

但其余 api 之一需要一个名为“public”的属性

是否有一个属性我可以指定在类中给它另一个名称,但在调用服务时使用公共名称?

所以我在课堂上有这个定义

public string public { get; set; }

我得到的错误是

Member modifier 'public' must precede the member type and name

谢谢

4

1 回答 1

1

好的,我找到了我需要的东西。

我尝试了 ServiceStack.DataAnotations.Alias 中的 Alias 属性,但这什么也没做,我不确定它的用途是什么?

然后我发现需要添加对 System.Runtime.Serialization 的引用,并且还需要用

[System.Runtime.Serialization.DataContract]

现在每个公共属性都需要以下属性,否则它不会将参数传递给其余服务器。对于名为 Public 的属性,它在 DataMember 属性构造函数中指定名称。

[System.Runtime.Serialization.DataMember]

下面是一个例子

[System.Runtime.Serialization.DataContract]
public class RequestVoiceBaseSearch : VoiceBaseBaseClass, IReturn<ResponseVoiceBaseSearch>
{
    [System.Runtime.Serialization.DataMember]
    public string action { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string terms { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string from { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string to { get; set; }
    [System.Runtime.Serialization.DataMember(Name = "Public")]
    public bool _public { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string rank { get; set; }

    public RequestVoiceBaseSearch()
        : base()
    {
        this.action = "Search";
        this.terms = "";
    }
}

克里斯

于 2013-08-20T01:27:20.650 回答