如何访问在单独的类中声明的ENUM - C#

时间:2011-11-18 21:26:18

标签: c# enums

我有以下代码:

class EmployeeFactory
{
        public enum EmployeeType
        {
                ManagerType,
                ProgrammerType,
                DBAType
        }
}

我想在MAIN类(Program)中访问它。我写了以下代码。有用。但我想知道如何在不实例化类的情况下访问ENUM - 手段ENUM就像一个静态变量(类级变量)?有什么帮助吗?

class Program
{
        static void Main(string[] args)
        {
                Console.WriteLine(EmployeeFactory.EmployeeType.ProgrammerType);  // WORKS WELL
        }
}

还是我需要这样写呢?

EmployeeFactory ef = new EmployeeFactory();
ef.EmployeeType.ProgrammerType

3 个答案:

答案 0 :(得分:5)

您只需使用该课程即可访问它。

EmployeeFactory.EmployeeType.ProgrammerType

枚举是类的一部分,不是类实例的一部分。

答案 1 :(得分:1)

  

但我想知道如何在不实例化类

的情况下访问ENUM

您访问此枚举的原始方式

Console.WriteLine(EmployeeFactory.EmployeeType.ProgrammerType);

已经完成了; 访问枚举而不实例化该类。

答案 2 :(得分:-1)

尝试这样的事情......

    public interface IEnums
    {
        public enum Mode { New, Selected };
    }

    public class MyClass1
    {
        public IEnums.Mode ModeProperty { get; set; }
    }

    public class MyClass2
    {
        public MyClass2()
        {
            var myClass1 = new MyClass1();

            //this will work
            myClass1.ModeProperty = IEnums.Mode.New;
        }
    }

或   你可以像这样直接访问....

 EmployeeFactory.EmployeeType.ProgrammerType 

我希望它会帮助你