【发布时间】:2012-04-17 04:23:58
【问题描述】:
我有一个 Web 服务项目(旧的 asmx 技术),其中我有一个类 User。此类具有表示此用户生日的 DateTime 属性。除了这个类,我还有另一个包含部分类 User 的文件。在这个部分类中,我添加了一个属性“Age”,它返回用户的年龄:
public partial class User
{
public DateTime Age
{
get { return DateTime.Now - this.Birthdate; }
}
}
之所以在部分类中是因为 User 类代码是从配置文件中自动生成的,我无法在每次生成代码时都将其删除,否则我无法将代码添加到此类。
现在在我的网络服务中,我有一个网络方法,它返回从数据库中获取的这些用户的列表:
[WebMethod]
public List<User> GetUsers()
{
return Database.LoadUsers();
}
很简单...无论如何,现在在不同的项目中,我向这个 web 服务添加了一个服务引用。它为我生成服务客户端和用户类。问题是:这个 User 类不包含在部分类中定义的属性(在这个例子中是年龄)......看起来 web 服务没有得到这个信息。
当然,我可以创建一个新的部分 User 类并在第二个项目中基本上重写它,但我不应该这样做,不是吗?为什么 web 服务不能识别部分类?
【问题讨论】:
标签: c# web-services asmx partial-classes