在 Visual Studio 中添加对 Web 服务(这都是 WCF)的服务引用会生成一些生成的代码,包括正在公开的接口的客户端重述。
我理解为什么会生成这个接口:您可能正在使用 3rd 方服务并且无法访问实际接口。
但是我这样做了,即使透明代理确实确实实现了我想要转换的接口,两者也不是分配兼容的。
我可以使用反射,但这很难看。有什么方法可以打败这种虚假类型安全性并将元数据注入到,以便我可以使用类的接口?
我的具体问题以复杂的方式偏离了规范,这与单个客户端有关,该客户端直接使用基类的某些衍生物并通过服务引用远程使用其他的。每个服务器的基类都需要在集合中保留对订阅客户端的引用,以便枚举通知事件,并且由于使用代理,问题是类型不同的。
这些答案都不能解决我的具体问题,但每一个答案都具有指导意义和帮助。我找到了自己的解决方案(使用双重绑定),但如果您没有从根本上提高我对整个业务的理解,我永远不会想出来。
三个优秀的答案。如何只选择一个?我选择第一个,因为它直接解决了我最初认为的问题。