簡體   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