如何在没有“使用”它们的情况下将结构传递给多个名称空间?

时间:2013-05-21 06:08:34

标签: c#

这是一个简单的问题(或者可能不是),我抓住了它。我有一个应用程序TestApp,它使用我正在处理的UI库,而后者又使用图形库(SharpDX)。

现在SharpDX提供了一个Color结构(SharpDX.Color)。我的Window类(UI.Window)接受SharpDX.Color结构来清除rendertarget。

但是,使用UI库时,SharpDX命名空间不可用。但这会导致Color无法使用的问题。

因此可以在UI命名空间中使Color可用,从而无需在使用UI库的项目中引用SharpDX。

感谢。

2 个答案:

答案 0 :(得分:1)

您需要做的是将颜色结构分成公共库,或者您可以将颜色结构映射到UI库提供的新结构。

如果无法编辑SharpDX(第三方?)的代码,那么您可以在两个项目中引用它或将其映射到UI库中的新结构

答案 1 :(得分:1)

据我所知,要使用库的一部分,您需要使用整个库(除非作者将其分解为子模块)。

如果您正在使用UI库,如何在不使用SharpDX的情况下将SharpDX.Color传递给它? 如果您只想使用库的一部分,可以从其他部分拆分依赖于SharpDX的组件。

或者,您可以制作自己的Color结构,并在UI和SharpDX代码的交叉处在UI.Color和SharpDX.Color之间进行转换。