c#-创建包装类时,是否应该在.NET中使用API​​的内部类?

我正在.NET中的一个项目中工作,它的一部分需要与通过RS232(com端口)连接到计算机的设备进行通信.我已经从设备制造商那里收到了API,它是用C#编写的.

我想在c#中编写一个类库,并将其用作此API的包装,以使所有调用都集中在此处,并仅使用API​​主类的一个实例,因为它仅应在第一次调用中进行初始化. (我认为我必须使用Singleton)

该API具有内部类和枚举器,并且其某些公共方法要求内部类作为参数.

我的疑问是:我应该向包装器的用户请求这些API内部类作为参数,还是在包装器外部公开API内部类不是一个好习惯?

另外,我怀疑写那个包装器是个好主意,因为API也是用C#编写的,也许我在浪费时间吗?

最佳答案
这很大程度上取决于您将在此项目上投入多少时间/资源,或者您可以在此项目中进行投资.

绝对好的选择是将内部API实现完全对包装类的使用者隐藏.这样,如果您将获得一个新设备,或该设备的新驱动程序(具有稍微不同的API),或者具有与不同制造商完全不同的API的全新设备,则将其再次包装到您的类中,隐藏所有用户的“低级”实施细节,这很可能是他不在乎的.

但这可能要做很多工作,取决于制造商原始API的大小.

希望这可以帮助.

转载注明原文:c#-创建包装类时,是否应该在.NET中使用API​​的内部类? - 代码日志