3

我有一个使用亚马逊 MWS API 的 C# 项目。我的项目需要为 Amazon 提供的每个 API 包含一个特定的命名空间。问题是亚马逊的 API 文件具有相似或完全相同的名称,即使跨 API 也是如此。

为了解决命名问题,我在我的项目中为报告、订单、提要等创建了文件夹,其中包含 API 和底层文件夹结构。我现在遇到的问题是如何引用特定的 API?

我的文件夹结构如下:

AmazonConnectors
    |____Reports
         |____Attributes
                 |___[files]      
         |____Model
                 |___[files]
         [files]       

我可以参考的文件是位于 Reports 文件夹中的 MarketplaceWebService.cs。

以下语句有效:

using MarketplaceWebService;

但是,如果我现在想引用同样包含在 AmazonConnectors 项目中并且具有与 Reports API 相同的文件夹结构和文件名的 Feeds API 中的代码,该怎么办?

我使用 Using 和目录的关键字进行的任何搜索都会返回大量不相关的材料。

是否有一个简单的解决方案可以将所有文件保存在同一个项目中,或者我是否需要将每个 API 分离到解决方案中自己的单独项目中?

- - 编辑 - -

我尝试将报告和提要 API 添加到同一个项目中,并且由于命名空间是相同的,所以重复的方法(有一些)给出了重复的定义错误。

Error   49  The namespace 'MarketplaceWebService.Model' already contains a definition for 'Error'   C:\Programming_Projects\ARC\AmazonConnectors\Feeds\Model\Error.cs   28  18  AmazonConnectors
4

2 回答 2

0

如果您曾经在两个命名空间之间发生命名冲突,您只需在引用另一个命名空间中的类型时使用完整的命名空间。因此,如果您在两个命名空间中都有类A和,并且命名空间二中的类需要从命名空间访问类,它只需要引用它而不是仅仅引用它。BOneTwoBAOneOne.AA

于 2012-06-08T18:38:59.560 回答
0

不需要精细(复杂)的文件夹结构。所有文件都可以在同一个目录中(如果需要的话),可以像这样命名文件:

AmazonConnectors.File1.cs 。. AmazonConnectors.Reports.Attributes.File1.cs AmazonConnectors.Reports.Attributes.File2.cs 。.

名称空间也是如此。

您可以使用显式命名或别名,例如:

使用 MarketPlaceWebService = AmazoneConnector.Model.MarketPlaceWebService;或者只是 AmazoneConnector.Model.MarketPlaceWebService

希望每个文件对应一个类,而不仅仅是为了方便而捆绑在一起的一组方法。

于 2012-06-08T18:34:32.843 回答