名称空间和类型问题

本文关键字:类型 问题 空间 | 更新日期: 2023-09-27 18:11:03

我有两个项目的解决方案。一个命名空间为MarketplaceWebServiceOrders,另一个命名空间为MarketsplaceWebServiceOrders.Sample。我在MarketplaceWebServiceOrders中有一个叫做MarketplaceWebServiceOrders的公共接口。我的主要功能是在MarketplaceWebServiceOrders.Sample中,每当我尝试使用MarketplaceWebServiceOrders接口时,我都会得到Error: MarketplaceWebServiceOrders.Samples.MarketplaceWebServiceOrders is namespace used use like a type

我实际上已经编译并运行了这个程序,但是我需要做一些更改,这个弹出

名称空间和类型问题

在这种情况下,您可以使用namespace:

指定全名访问接口。
MarketplaceWebServiceOrders.MarketplaceWebServiceOrders instance = new ...();

不管怎样,你的命名看起来不对。您可能误用了名称空间—它们应该对类型进行"分类",不需要类型名称与名称空间相同。此外,按照良好的约定,接口的前缀为I字母。

您可能需要考虑重构代码,使名称空间和类型不那么模棱两可。名称空间的目的之一是组织代码,因此在名称空间和类型中使用相同的名称有点多余。

这个错误指出您在MarketplaceWebServiceOrders中有一个额外的名称空间级别MarketplaceWebServiceOrders。样品名称空间。这是真的吗?如果是这样,则需要从基名称空间完全限定接口的使用:MarketplaceWebServiceOrders.MarketplaceWebServiceOrders是您所说的需要的接口。只是不要在这个代码文件中使用基本的MarketplaceWebServiceOrders命名空间。

为了避免这种混淆,如果可能的话,我将更改命名空间名称或接口。界面会更简单;如果它是一个实际的c#接口类型,在标识符的前面添加一个"I"(这是大多数C风格语言中推荐的命名约定)。