这个数据契约如何标记

货郎大叔 2019-09-17 12:25:55

[DataContract]
public class User: BindableBase
{
[DataMember]
public string UserName;
[DataMember]
public int Age;
}

一个数据契约User类型,需要在服务端和客户端传输,现在已经服务端定义了数据契约。
添加服务引用之后,客户端也会有User类,但是,根据项目需要,客户端的User需要具有更改通知,就像下面这样的:

public class User: BindableBase
{
private string username;
public string UserName
{
get { return username; }
set { SetProperty(ref username, value); }
}
private int age;
public int Age
{
get { return age; }
set { SetProperty(ref age, value); }
}
}


请问,具体该怎么做,才能使得客户端的User类具有更改通知
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2019-09-17
  • 打赏
  • 举报
回复
客户端的是代理类,都是自动生成的,不能改 你可以先改服务端的数据契约,也就是user类,再重新在客户端添加引用
threenewbee 2019-09-17
  • 打赏
  • 举报
回复
你可以写,但是通知不到,这个需要用wcf双向通讯,向客户端调用,由客户端的代码自己通知自己。
秋的红果实 2019-09-17
  • 打赏
  • 举报
回复
搜索下ServiceKnownType
货郎大叔 2019-09-17
  • 打赏
  • 举报
回复
引用 2 楼 秋的红果实的回复:
客户端的是代理类,都是自动生成的,不能改 你可以先改服务端的数据契约,也就是user类,再重新在客户端添加引用
你的意思是,服务端的User修改成具有更改通知吗?继承自BindableBase吗?我试过,行不通诶,要报错,因为BindableBase类没有DataContract特性,在User类上面添加DataContract特性,就不能从BindableBase类继承
正怒月神 2019-09-17
  • 打赏
  • 举报
回复
1 要么像楼上说的,修改服务器端的user 2 要么自己写一个User,然后增加通知,在服务器User数据映射到你自定义的user的时候,应该也会触发通知的

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧