【发布时间】:2020-04-15 13:43:37
【问题描述】:
我有一个具有特定游戏相关方法的继承类(士兵、军医等)的类(角色)。例如。射击或治疗。
我想要它,以便用户可以输入 Heal,例如,程序可以检查他们有什么类型的字符,从而查看这是否是该对象中方法的有效名称。
我知道在其他语言中是可能的,但在 Pascal 中看不到如何做到这一点。它必须在 Free Pascal 和 Delphi 中工作。谢谢
【问题讨论】:
-
为什么您认为需要检查方法名称的有效性才能执行此操作?您可以使用 RTTI 来实现,但在 FreePascal 中的实现方式与在 Delphi 中的实现方式有所不同(特别是对于扩展的 RTTI)。实现自己的查找机制来解析某种字典中的游戏属性和动词会更直接。这在 FP 和 Delphi 中都是微不足道的,并且与使用的编译器无关。它还将允许最终用户使用的名称独立于代码中使用的名称,这将更容易国际化等?
-
谢谢!这与满足项目规范一样重要。我的直觉反应是我最好在我的代码中以不同的方式处理这个问题,希望确保没有简单的解决方案。谢谢!!
-
很高兴它有帮助 - 我已将其转换为答案。
标签: class object methods pascal