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

发布于 2024-12-16 20:57:46 字数 621 浏览 3 评论 0原文

我有以下代码:

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

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

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

或者我需要这样写吗?

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

I have the following code:

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

I want to access this in MAIN class (Program). I have written the following code. IT WORKS. But I want to know how I can access the ENUM without instantiating the class -- Means ENUM is like a static variable (Class Level Variable) ? Any help ?

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

or do I need to write it this way?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

︶葆Ⅱㄣ 2024-12-23 20:57:46

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

EmployeeFactory.EmployeeType.ProgrammerType

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

You can access it simply using the class.

EmployeeFactory.EmployeeType.ProgrammerType

The enum is part of the class, not part of a class instance.

絕版丫頭 2024-12-23 20:57:46

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

访问此枚举的原始方式

Console.WriteLine(EmployeeFactory.EmployeeType.ProgrammerType);

已经实现了这一点;您正在访问枚举而不实例化该类。

But I want to know how I can access the ENUM without instantiating the class

The original way you're accessing this enum

Console.WriteLine(EmployeeFactory.EmployeeType.ProgrammerType);

already accomplishes that; you are accessing the enum without instantiating the class.

一指流沙 2024-12-23 20:57:46

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

    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 

我希望它能帮助你

try something like this ...

    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;
        }
    }

or
you can directly access like this....

 EmployeeFactory.EmployeeType.ProgrammerType 

i hope it will helps you

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文