枚举:接口不能声明类型

时间:2014-07-30 18:39:29

标签: c# types interface enums

从一个班级开始,我试图从另一个班级调用一个枚举。根据我在这个网站上找到的一些解决方案,我必须在界面中创建枚举,然后从类中创建一个属性。这对我很有用,但是当我尝试编译项目时,我收到错误消息:“enum_Name:'interfaces不能声明类型'。

以下是界面的代码:

public interface IEnums
{

public enum enum_SomeName
{
    firstenumname = 1,
    secondenumname = 2,
    thirdenumname = 3,
    forthenumname = 4,
    fifthenumname = 5
}

这是属性类:

  public class Whatever
 {
   public IEnums.SomeName wtf {get; set; }
 }

正如我所提到的,我可以使用40种不同的方法在另一个类上调用枚举,但是我在线收到错误消息:     public enum enum_SomeName。

2 个答案:

答案 0 :(得分:4)

要么你误解了这个建议,要么是错误的。这是合法的,但很少将枚举声明放在类或结构声明中。这没有必要,你没有充分的理由不这样做。将枚举卡放在界面中是不合法的。把它放在外面。

答案 1 :(得分:3)

您正在尝试在界面中定义枚举。你不能这样做。

您可以让界面具有枚举的标量值。

public interface IEmployee
{

  Enums.EmployeeStatusEnum EmpStatus {get;set;}
}



public enum EmployeeStatusEnum 
{
    Unknown = 0,
    Hired= 1,
    Fired= 2
}