[英]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.