在我们的域中,我们在所有域类型上覆盖ToString方法。
但是,在返回这些域对象以响应Silverlight服务请求时,ToString的功能将丢失。 ToString()只返回从服务导入的对象的名称空间描述。我的猜测是服务引用创建的域代理不包含ToString逻辑。
是否可以在不必在Silverlight客户端上重新实现ToString的情况下使其工作?
更新:顺便说一句,这是我可以绑定到整个对象并让字符串描述得到尊重。我有一组从服务返回的域对象。我想将UI集合的ItemsSource设置为这些域对象的列表,而不必在本地重新创建ToString逻辑。
答案 0 :(得分:1)
代理不会为ToString()方法生成合同的成员部分,因为ToString()不是ServiceContract的一部分。不仅如此,我不确定生成的代理类在创建时会智能地覆盖Object.ToString()。您是否可以添加描述性方法,例如将在代理中创建的GetDescription()?
如果没有,你能否只是覆盖代理中的方法(它应该作为部分生成)并提供特定于客户端的实现?