C# 为第三方API返回的对象创建包装器

C# 为第三方API返回的对象创建包装器,c#,wpf,oop,C#,Wpf,Oop,我正在构建一个WPF应用程序,它使用第三方库获取我希望允许用户与之交互的对象 对象作为接口类型返回。我认为为这些对象创建包装器类而不是直接绑定到返回的接口(例如(ICCustomer))是一种很好的做法,对吗 如果是这样,最好的方法是什么?我目前的想法是将服务注入到我的视图模型中。然后在客户机上创建我自己版本的customer类(ClientCustomer)。当我在服务中呼叫get customers时,它将返回ICustomer的列表。对于其中的每一个,我将创建一个新的ClientCusto

我正在构建一个WPF应用程序,它使用第三方库获取我希望允许用户与之交互的对象

对象作为接口类型返回。我认为为这些对象创建包装器类而不是直接绑定到返回的接口(例如(ICCustomer))是一种很好的做法,对吗

如果是这样,最好的方法是什么?我目前的想法是将服务注入到我的视图模型中。然后在客户机上创建我自己版本的customer类(ClientCustomer)。当我在服务中呼叫get customers时,它将返回ICustomer的列表。对于其中的每一个,我将创建一个新的ClientCustomer实例,传入ICCustomer对象,客户机客户只需返回底层属性即可。这将给我留下一个ClientCustomer对象列表,我可以绑定到这些对象,而不是直接绑定到iccustomer列表

这是一个好方法吗?我也不确定如何处理ICustomer包含的复杂类型。例如,ICustomer有一个银行账户列表IBankAccount。我是否也需要包装银行帐户对象


谢谢

我总是“实现”他们的接口,这意味着创建接受这些类型的方法。在处理内容之前,可以并且应该在内容深入系统之前进行验证。这也验证了这些方法的预期输出,因为我们都讨厌“Null Reference not set to instance of object”错误。@JohnPeters-谢谢,我不太清楚你的意思。因此,与ClientCustomer将ICCustomer注入其构造函数不同,您应该让ClientCustomer实现ICCustomer接口?很抱歉,也许我在之前的文章中没有正确思考。但是,是的,我会创建一个包装类,或者创建一个通过方法接口或属性接收类型的类。其概念是以一种方式包含对象,即您的类对允许的内容和返回的内容拥有100%的控制权。此外,它还可以改变外界不知道的内容。