我需要使用服务堆栈调用第三方rest api,这样可以正常工作。
但其中一个api需要一个名为“public”的属性
我是否可以指定一个属性,在类中为其指定另一个名称,但在调用服务时使用公共名称?
所以我在课堂上有这个定义
public string public { get; set; }
我得到的错误是
Member modifier 'public' must precede the member type and name
由于
答案 0 :(得分: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 = "";
}
}
克里斯