是否可以编写枚举器的只读属性?

问题描述 投票:0回答:1

假设我有一个类Seat,其枚举器的类型为SeatType,枚举值为WindowAisleMiddle,如下所示:

public enum SeatType
{
Window,
Aisle,
Middle
}

是否可以像属性一样使用枚举器?我正在尝试通过以下方法,通过读取另一个变量来分配座位对象的SeatType可用方式,但是我不确定这是否是根据给定的座位号SeatType返回座位类型_seatLetter的正确方法。我试图这样做,以便如果对象的_seatLetter实例变量是某个字符,则该对象的枚举数是WindowAisleMiddle

public enum Type
{
  get 
  { 
    if (_seatLetter == 'A' or _seatLetter == 'F')
    {
      return SeatType.Window;
    }
    else if (_seatLetter == 'C' or _seatLetter == 'D')
    {
      return SeatType.Aisle;
    }
    else
    {
      return SeatType.Middle;
    }
  }
}
c#
1个回答
0
投票

您可以尝试声明Type之前的关注内容

public SeatType Type
{
    get
    {
        switch (_seatLetter)
        {
            case 'A':
            case 'F':
                return SeatType.Window;
            case 'C':
            case 'D':
                return SeatType.Aisle;
            default:
                return SeatType.Middle;
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.