![](/img/trans.png)
[英]JsonSerializer behaves not as expected when the specifc class is casted to something else
[英]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
是具有FighterJet
和Passenger
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.