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

如何访问在单独类中声明的枚举-C#,c#,enums,C#,Enums,我有以下代码: class EmployeeFactory { public enum EmployeeType { ManagerType, ProgrammerType, DBAType } } 我想在主类(程序)中访问这个。我已经编写了以下代码。它起作用了。但是我想知道如何在不实例化类的情况下访问ENUM——这意味着ENUM就像一个静态变量(类级

我有以下代码:

class EmployeeFactory
{
        public enum EmployeeType
        {
                ManagerType,
                ProgrammerType,
                DBAType
        }
}
我想在主类(程序)中访问这个。我已经编写了以下代码。它起作用了。但是我想知道如何在不实例化类的情况下访问ENUM——这意味着ENUM就像一个静态变量(类级变量)?有什么帮助吗

class Program
{
        static void Main(string[] args)
        {
                Console.WriteLine(EmployeeFactory.EmployeeType.ProgrammerType);  // WORKS WELL
        }
}
还是我需要这样写

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

您只需使用类即可访问它

EmployeeFactory.EmployeeType.ProgrammerType

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

但是我想知道如何在不实例化类的情况下访问枚举

您访问此枚举的原始方式

Console.WriteLine(EmployeeFactory.EmployeeType.ProgrammerType)


已经做到了这一点;您正在访问枚举,而没有实例化类。

请尝试以下操作

EmployeeFactory.EmployeeType.ProgrammerType
    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 

我希望它能帮助您

有什么问题吗?您可以像在问题中一样引用枚举。你还想做什么?你能澄清你的问题吗?您说您的Console.WriteLine()代码可以工作。该代码不会实例化类的实例。问题是什么?你回答了自己的问题。怎么回答?它是不是像“静态”变量那样,我可以把?它属于类而不是对象?如果我理解正确,那么是的,这是正确的。枚举类型属于该类,而不是该类的实例。枚举是该类的一部分,而不是该类实例的一部分-这是我需要的。您似乎是从中复制的。而且,这似乎对我不起作用,我得到一个错误“接口不能声明类型”。