【问题标题】:Enum: interfaces cannot declare types枚举:接口不能声明类型
【发布时间】:2014-09-22 13:06:14
【问题描述】:

我试图从一个班级调用另一个班级的枚举。根据我在这个网站上找到的一些解决方案,我必须在接口内创建枚举,然后从类中创建一个属性。这对我来说非常有效,但是当我尝试编译项目时,我收到错误消息:“enum_Name: 'interfaces cannot declare types'。

接口代码如下:

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 种不同的方法上调用其他类的枚举,但我在线收到错误消息: 公共枚举 enum_SomeName。

【问题讨论】:

    标签: c# types interface enums


    【解决方案1】:

    您正在尝试在接口内定义枚举。你不能那样做。

    你可以让接口有一个枚举的标量值。

    public interface IEmployee
    {
    
      Enums.EmployeeStatusEnum EmpStatus {get;set;}
    }
    
    
    
    public enum EmployeeStatusEnum 
    {
        Unknown = 0,
        Hired= 1,
        Fired= 2
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-23
        • 2014-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多