C#为什么我需要放“系统”。在“ConsoleColor”之前,即使我已经“使用System;”

时间:2013-10-20 21:40:17

标签: c#

我已将using System;放在第一行,但当我尝试在类方法中调用ConsoleColor时,它不会在智能感知中显示任何颜色选项。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace practice
{
    class ConsoleColor
    {
        public void DisplayColor()
        {
            Console.ForegroundColor = System.ConsoleColor.Red;
            Console.WriteLine("Hello");
        }
    }
}

解决此问题,但将System.放在ConsoleColor的前方。

想知道为什么会这样。

提前致谢。

我太傻了,没注意上课的名字.. 关闭了这个问题。 非常感谢你们......

3 个答案:

答案 0 :(得分:7)

您使用ConsoleColor作为班级名称。因此,要解决冲突,您必须使用System.(或更改您的班级名称)

答案 1 :(得分:2)

因为您的班级名为ConsoleColor。编译器不知道您希望ConsoleColor命名空间中的System类型,因为它已经找到了ConsoleColor类型..您的类。因此,您需要明确声明您希望System命名空间中的类型。

答案 2 :(得分:1)

您创建了一个类ConsoleColor,其名称与ConsoleColor枚举名称相同。要解决此问题,您必须指定System命名空间以告诉编译器使用ConsoleColor枚举。另一个选项是重命名您的班级以免发生碰撞。