C# 是否有方法引用某个类/接口/。。。通过使用名称空间而不是using指令“将其封闭”;使用名称空间“u name”吗;?

C# 是否有方法引用某个类/接口/。。。通过使用名称空间而不是using指令“将其封闭”;使用名称空间“u name”吗;?,c#,.net,namespaces,sap,sap-dotnet-connector,C#,.net,Namespaces,Sap,Sap Dotnet Connector,是否有方法引用某个类/接口/。。。通过使用其名称空间而不是using指令“using namespace\U name”?将其封闭起来 正如我所知,我正在一个使用SAP.NET连接器的网站上工作。我已经为连接器ddl添加了一个引用,在引用其名称空间“usingnamespace_name”或将类名称空间设置为另一个名称空间而不是连接器名称空间时 关于连接器类,我收到错误消息“找不到类型或命名空间,是否缺少using指令或程序集引用?” 但在将名称空间名称更改为连接器名称空间时,一切都进展顺利 /

是否有方法引用某个类/接口/。。。通过使用其名称空间而不是using指令“using namespace\U name”?将其封闭起来

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

关于连接器类,我收到错误消息“找不到类型或命名空间,是否缺少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
{
}
所以,连接器类型迫使我将类的名称空间设置为它们的名称空间


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

这就是你想要的吗

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

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

如果您尝试以下方法:

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

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

这就是您想要的吗

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

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

如果您尝试以下方法:

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

如果这样做有效,但如果删除SAPTEST则无效,那么还必须在另一个名称空间中声明IDestinationConfiguration。

我也遇到了这个问题,直到在上一篇文章中找到答案,最后一行写道:

此外,请确保目标框架是“.NET v4.0”而不是“.NET v4.0客户端”--这样您就可以获得所需的System.Web命名空间


我的项目的目标是4.0客户端目标框架。一旦我把它改为.NET Freamework 4.0,所有的参考资料都按预期工作。

我也遇到了这个问题,直到我最终在上一篇帖子上找到了答案,最后一行写道:

此外,请确保目标框架是“.NET v4.0”而不是“.NET v4.0客户端”--这样您就可以获得所需的System.Web命名空间



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

不仅IDestinationConfiguration接口,我还应该为每种类型的连接器类型执行此操作,而且如果将该类作为名称空间名称包含在SAP.Middleware.connector中,一切都会顺利!是的,我知道完全限定的名称空间,但这不是问题所在。是的,因为如果您在给定的名称空间中编写代码,那么该名称空间在作用域中是“自动”的。但你不需要这样做。您可以使用using,也可以显式地完全限定类型。使用using指令并不能解决问题,我必须将名称空间设置为连接器类型的名称空间,而不是使用指令。啊,我明白了。你能发布失败的代码吗。我只能看到2个可能的错误,要么是语法错误,要么是一个类型位于两个不同的名称空间中(即,即使使用,您仍然会遇到类型名冲突)。不仅是IDestinationConfiguration接口,我还应该为每种类型的连接器类型执行此操作,但是,如果用SAP.Middleware.Connector作为名称空间名称来封装该类,那么一切都会顺利进行!是的,我知道完全限定的名称空间,但这不是问题所在。是的,因为如果您在给定的名称空间中编写代码,那么该名称空间在作用域中是“自动”的。但你不需要这样做。您可以使用using,也可以显式地完全限定类型。使用using指令并不能解决问题,我必须将名称空间设置为连接器类型的名称空间,而不是使用指令。啊,我明白了。你能发布失败的代码吗。我只能看到两个可能的错误,要么是语法错误,要么是一个类型位于两个不同的名称空间中(即,即使使用,您仍然会遇到类型名冲突)。据我所知,该代码段正在“工作”。你能粘贴你认为应该工作(并且想要工作)的代码吗?可能使用实际名称空间,而不是“名称空间\名称”。;-)有一件事可以尝试,如果它使用完全限定的名称(例如
SAP.Middleware.Connector.IDestinationConfiguration
或类似的名称)工作,这应该与
使用SAP.Middleware.Connector
没有什么区别,但这是对更多信息的一个很好的测试…:)有一种情况会有所不同。如果IDestinationConfiguation是在两个名称空间中声明的,这两个名称空间都包含在usings中。@James,它只被SAP.Middleware.Connector.Hmm引用。。。这很奇怪。我的想法是和@James在一起的,所以恐怕我没有主意了。如果我以后有什么想法,我会回来的。:)我在我的答案中加入了更多的内容-一些尝试-但只是为了证明它在另一个名称空间中没有重复。。。如果失败了,那么我也会被难倒。按照我的理解,这段代码片段是“有效的”。你能粘贴你认为应该工作(并且想要工作)的代码吗?可能使用实际名称空间,而不是“名称空间\名称”。;-)有一件事可以尝试,如果它使用完全限定的名称(例如
SAP.Middleware.Connector.IDestinationConfiguration
或类似的名称)工作,这应该与
使用SAP.Middleware.Connector
没有什么区别,但这是对更多信息的一个很好的测试…:)有一种情况会有所不同。如果IDestinationConfiguation是在两个名称空间中声明的,这两个名称空间都包含在usings中。@James,它只被SAP.Middleware.Connector.Hmm引用。。。这很奇怪。我的想法是关于@Jame的