是否有一种方法可以通过使用其名称空间包装而不是使用指令“使用namespace_name”来引用某个类别/接口/…?

StackOverflow https://stackoverflow.com/questions/4712712

是否有一种方法可以通过使用其名称空间包装而不是使用“使用namespace_name”的指令来引用某个类别/接口/...?!

因为,我正在使用使用SAP .NET连接器的网站。我已经添加了连接器DDL的引用,并在引用其名称空间“使用namespace_name”或将类名称空间设置为另一个而不是连接器名称空间时,

我遇到了有关连接器类带有错误消息的错误:“找不到类型或名称空间,您是否缺少使用指令或汇编引用?”。

但是,在将名称名称更改为连接器名称空间时,一切都很好吗?

// Set namespace to be IDestinationConfiguration interface namespace.
// Using this, everything is going well.
namespace SAP.Middleware.Connector
{
    public class ConnectorConfiguration : IDestinationConfiguration
    {
    }
}

// Using that way; it's not working, and got an error regarding IDestinationConfiguration even it belongs to refernced namespace.
using SAP.Middleware.Connector;

public class ConnectorConfiguration : IDestinationConfiguration
{
}

因此,连接器类型迫使我将类的名称空间设置为他们的名称空间!

这可能吗?如果是这样,怎么样?

有帮助吗?

解决方案

这是您所追求的吗?

public class ConnectorConfiguration: SAP.Middleware.Connection.IDestinationConfiguration
{

}

您可以在不使用的情况下编写所有代码,只需使用未使用使用的每个类/界面的完全资格的名称名称即可。

如果您尝试此操作:

using SAPTEST = SAP.Middleware.Connection;
namespace TestNamespace 
{
   public class ConnectorConfiguration: SAPTEST.IDestinationConfiguration
   {
   }
}

如果有效,但是如果您删除了SAPTEST,则不起作用,则必须在另一个名称空间中声明IdestinationConfiguration。

其他提示

我也遇到了这个问题,直到我终于在帖子上找到答案 http://forums.sdn.sap.com/thread.jspa?threadId=1876430, ,最后一行说:

“另外,请确保您的目标框架为” .NET v4.0“不” .NET v4.0客户端 - 这样您就可以获得系统。

我的项目是针对4.0客户目标框架。一旦我将其更改为.NET freamework 4.0,所有参考文献都按预期工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top