【问题标题】:C# Namespaces used as class equivalent用作类等效项的 C# 命名空间
【发布时间】:2015-03-04 15:19:53
【问题描述】:

有没有人遇到过如下一些较旧的 C# 代码,为了克服后来的编译器错误“'car' is a 'namespace' but is used like a 'type'”,等效的方法是什么。

非常感谢。

namespace something.car
{
  public class Display : UserControl
  {
    private car _car;  // comppiler error here
    public car carConfig  // comppiler error here
    {
      get
      {
        return this._car;
      }
      set
      {
        this._car = value;
      }
    }
  }

}

【问题讨论】:

  • car 在您的示例中是一个命名空间。
  • 不要将类命名为命名空间。就这么简单。您可能可以为命名空间设置别名以避免该问题。
  • 在这个例子中,汽车是一个类吗?按原样阅读您的示例,您正在尝试实例化一个命名空间,编译器正确指出这是无法完成的。

标签: c# namespaces


【解决方案1】:

将您的第一行从 namespace something.car 更改为

namespace Something.SomethingElse

并确保在 private car _car;public car carConfig 行中定义了一个类 car

作为旁注,用 Pascal 表示法拼写命名空间和类名是很常见的,例如。 G。 namespace Somethingpublic class Car

【讨论】:

    【解决方案2】:

    为了能够在不更改命名空间名称的情况下使用它(“但肯定更改命名空间名称是正确的方法”)。

    但你可以在使用时使用类的文件路径,所以如果汽车类是命名空间“SomenameSpace.Viechels”

    那么你可以像下面这样使用来避免上述冲突: SomenameSpace.Viechels.car _car; SomenameSpace.Viechels.car _carConfig;

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 2013-01-25
      • 1970-01-01
      • 2011-07-17
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      相关资源
      最近更新 更多