namespaces - 如何在 C++/CLI 应用程序中正确设置根命名空间属性?

标签 namespaces c++-cli

我在 Visual Studio 2008 中有一个 C++/CLI 应用程序,其命名空间遵循 CompanyName.TechnologyName[.Feature][.Design] 的 .NET 指南。 .问题是似乎没有办法在项目的 Root Namespace 属性中设置多级命名空间。我都试过了 CompanyName.TechnologyNameCompanyName::TechnologyName .

似乎我不能在不是根命名空间的命名空间中拥有 Form 控件,因为这会导致找不到它使用的资源,因此对我来说,遵循他们的指南并与我的 C# 应用程序保持一致似乎是不可能的。

有没有办法将此属性设置为使用多级命名空间,或者我是否被迫使用仅一级的根命名空间?或者有没有我忽略的解决方案?

编辑:
Visual Studio 2010 中添加了功能以允许多级根命名空间。使用 CompanyName.TechnologyName格式不是 CompanyName::TechnologyName .虽然后者适用于/creating/表单,但如果您的表单需要资源,那么在编译时,Visual Studio 会尝试保存到 CompanyName::TechnologyName.resources这将引发错误。

最佳答案

不确定我是否看到资源问题。没有“根命名空间”的概念。您必须遵循命名空间声明的 C++ 规则,您必须一次嵌套一个。例如:

namespace Contoso {
  namespace Accounting  {
    namespace PayRoll {
      namespace Employees {

  // class declarations go here

}}}}  // yeah, that sux

在 .cpp 文件中:
using namespace Contoso::Accounting::PayRoll::Employees;

当我可以找到这样声明时,添加资源没有问题。但是不要添加资源,然后更改命名空间名称。 C++ IDE 没有任何重构支持。 C++/CLI 中的 Windows 窗体开发不是很流行,这可能是原因之一。

关于namespaces - 如何在 C++/CLI 应用程序中正确设置根命名空间属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2877187/

相关文章:

xslt - xsl : template and namespaces

c# - 在 native C++ 中编写 C# 托管代码

.net - 托管 C++ 方法命名

properties - 如何在 C++/CLI 接口(interface)中声明默认索引属性

php - 在 PHP 中将 use 语句放在命名空间语句之前究竟会发生什么?>

php - 是否有命名空间单例类的快捷方式

C# 命名空间别名 - 有什么意义?

c# - 托管类型 C++

.net - C++/CLI 打开字符串

C++ extern 关键字和全局变量