如何访问在单独类中声明的枚举-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()代码可以工作。该代码不会实例化类的实例。问题是什么?你回答了自己的问题。怎么回答?它是不是像“静态”变量那样,我可以把?它属于类而不是对象?如果我理解正确,那么是的,这是正确的。枚举类型属于该类,而不是该类的实例。枚举是该类的一部分,而不是该类实例的一部分-这是我需要的。您似乎是从中复制的。而且,这似乎对我不起作用,我得到一个错误“接口不能声明类型”。