名称空间和类型问题
本文关键字:类型 问题 空间 | 更新日期: 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风格语言中推荐的命名约定)。