我有一个 ASP.NET (.asmx) Web 服务项目,它的方法如下:
public int GetData(Data d);
并且数据类具有属性:
public class Data
{
public int Id { get; set; }
public string Name { get; set; }
}
我想让客户看到“Id”属性,而不是“Name”属性。它们都必须是公共(public)的,因为应用程序的内部逻辑需要这些属性是公共(public)的。
那么如何设置客户端不可见的“名称”属性而不更改其公共(public)访问器,并且不进行私有(private)获取、私有(private)设置?
请您参考如下方法:
您可以使用 XmlIgnore 标记阻止序列化,客户端生成的代理类将不包含属性 Name。
public class Data
{
public int Id{get;set;}
[XmlIgnore()]
public string Name{get;set;}
}
