"命名空间"被用作"类型"。

119
我的程序使用了一个叫做Time2的类。我已经将引用添加到了TimeTest中,但是我一直收到错误提示:'Time2'是一个'namespace',但被用作'type'。请问有人能告诉我这个错误是什么意思,以及如何解决吗?
    namespace TimeTest
    {
      class TimeTest
      {
        static void Main(string[] args)
        {
            Time2 t1 = new Time2();
        }
      }
    }

16
不要给类型(比如 TimeTest.TimeTest)起与其命名空间相同的名称,这样会产生歧义错误。请避免这样做。 - Anthony Pegram
更多信息请参见:http://blogs.msdn.com/b/ericlippert/archive/2010/03/09/do-not-name-a-class-the-same-as-its-namespace-part-one.aspx - Anthony Pegram
1
你真的应该在这个问题中添加一个(简化的)Time2 声明,因为那可能是问题所在。很可能你已经在名为 Time2 的命名空间中定义了 Time2 - JerKimball
1
TheAce,请下次尝试提供最小的可重现问题示例。我已经删除了不必要的行,请添加Time2定义以使其完整。 - Alexei Levenkov
12个回答

0

尝试避免给实体赋相同的命名空间名称,例如,如果您使用以下类似的名称空间,并尝试调用名为“Product”的实体,则会出现错误。

以下是您代码中某处的命名空间。

Company.Project.APPLICATION.Product.Commands

以下代码会提示您:'Product' 是一个 'namespace',但被用作了 'type'。
Product product = new Product()

所以尝试重命名您的实体或命名空间。


-5

如果出现错误:

第26行:
第27行:@foreach (Customers customer in Model) 第28行:{ 第29行:}

请提供完整的命名空间,例如: @foreach (Start.Models.customer customer in Model)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接