1

有没有一种方法可以引用某个类/接口/...,方法是用它的命名空间而不是 using 指令“使用命名空间名称”封闭它?!

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

我收到有关连接器类的错误消息“找不到类型或命名空间,您是否缺少 using 指令或程序集引用?”。

但是在将命名空间名称更改为连接器命名空间时,一切顺利吗?!

// 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
{
}

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

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

4

2 回答 2

1

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

“另外,确保你的目标框架是“.NET v4.0”而不是“.NET v4.0 Client”——这样你就可以获得所需的 System.Web 命名空间。”

我的项目针对 4.0 客户端目标框架。一旦我将其更改为 .NET Freamework 4.0,所有引用都按预期工作。

于 2011-02-24T21:39:27.100 回答
0

这就是你所追求的吗?

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

}

如果您愿意,您可以在不使用 using 的情况下编写所有代码,您只需为不使用 using 的每个类/接口使用完全限定的命名空间名称。

如果你试试这个:

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

如果这有效,但如果您删除 SAPTEST 则无效,那么 IdestinationConfiguration 也必须在另一个命名空间中声明。

于 2011-01-17T11:48:26.883 回答