繁体   English   中英

上课? 或者是其他东西

[英]Class in a class? or something else

在本周的实验中,我的老师为我提供了一些代码,可以帮助您,但遗憾的是,它虽然有所帮助,但还不够。 在上下文中,“ selectedType”中的即时消息我不确定,所以这不是我在这里的原因。 我在这里是因为我想知道是否有人可以解释“ Airplane.Type.Fighter”可能是什么。 飞机是与此类相关的一类。 但是我不确定Type是否是应该在Airplane内的另一个类。

有什么想法吗?

switch (selectedType)
{
  case Airplane.Type.Fighter:
    newPlane = new FighterJet(name, position, cboPlaneType.SelectedItem);
    break;
  case Airplane.Type.Passenger:
    int numPassengers = Utilities.getIntegerInputValue(txtNumberPassengers);
    newPlane =
    new PassengerAirplane(name, position, txtType.Text, txtFlightNumber.Text, numPassengers);
    break;
  default:
    newPlane = new Airplane(name, position);
    break;
  }

好吧,我们只能在这里猜测。 我的猜测是Airplane是当前类的属性,而Airplane.Type是具有FighterJetPassenger FighterJet枚举

正如肖恩在评论中指出的那样,这很可能是内部枚举。

public class Airplane
{
    public enum Type
    {
        Fighter,
        Passenger
    }
}

看起来可能是一个enum

您需要在这里写下飞机的定义,以获得答案。 该信息不足以给出答案。

它可以是Class.Enum.EnumType,也可以是Class.Class.Const

如果您查看Airplane类的定义,很容易发现。 另外, selectedType的类型应给您指示。 如果您没有源代码,则可以通过右键单击Airplane.Type.Passenger (例如)并选择“转到定义”来为Visual Studio生成类大纲。 另外,您可以使用Reflector之类的工具查看代码。

但是,这似乎是一个嵌套的枚举(最明显的选择):

class Airplane {
  public enum Type {
    Fighter,
    Passenger
  }
}

但是它也可以是带有常量的嵌套类型:

class Airplane {
  public static class Type {
    public const string Fighter = "Fighter";
    public const string Passenger = "Passenger";
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM