我正在查看某些人的代码,我想知道是否有人可以向我解释我在这里看到的内容。
public static KillerInspectorScene Instance
{
get
{
if (instance == null) {
throw new InvalidProgramException();
}
return instance;
}
}
我以前没见过这样的方法,有人能告诉我我在看什么吗?我想我理解方法的主体。任何人都可以告诉我这究竟是什么,所以我可以在谷歌上进一步查找它?我有类似的东西,我无法弄清楚。
public KillerInspectorScene.States GetKillerResultState(Game.KillerActions action)
{
if (action == Game.KillerActions.Disguise) {
return KillerInspectorScene.States.Disguise;
}
else if (action == Game.KillerActions.Kill) {
return KillerInspectorScene.States.Kill;
}
else if (action == Game.KillerActions.Shift) {
return KillerInspectorScene.States.Shift;
}
return KillerInspectorScene.States.Null;
}
非常感谢帮助。我不能查找我不知道名字的名字。提前谢谢!
答案 0 :(得分:0)
您在名为Instance的静态属性上有一个公共静态getter。实例字段在其他地方初始化。如果未初始化,则getter会抛出异常。 Instance属性可在您的程序中全局访问。
第二个是方法,是你班级实例的一部分。给定一个动作它会返回某种KillerInspectorScene状态。
答案 1 :(得分:0)
您要看的第一种方法是验证:
如果KillerInspectorScene实例以某种方式无效,则意味着程序中的其他方法对游戏逻辑进行了无效操作,因此会引发错误。
您所看到的第二种方法是根据正在进行的操作进行选择,似乎有3个选项可供杀手做出反应,而且该方法是“消化”"那些选择。
它接收杀手的动作并根据该动作返回场景状态。
我建议您检查谁在调用这些方法,以及在哪些情况下确切地了解您的代码。
祝你好运。
答案 2 :(得分:-2)
您正在查看singleton pattern。