当参数为字符串时,Dymola 中 class 的条件迁移

Conditional migration of a class in Dymola when parameter is String

库迁移:当条件参数为String类型时,是否可以将组件转换为不同的class?尝试类似

convertClassIf("OldClass",
               "stringParameter",
               "blue",
               "NewClass");

失败。这将触发 OldClass(stringParameter=\"blue\")NewClass().

的转换

我正在使用 Dymola 2022x。

这似乎在 Dymola 2022x 中不起作用。

根据Modelica Specification 3.5应该是可以的:

The old element should be of a Boolean, Integer, String, or enumeration type and the match is based
on the literal value of the modifier. For string elements the value argument to convertClassIf shall be
up-quoted, e.g. "\"My String\"" ...

所以这应该有效(也许在未来的 Dymola 版本中会有效):

convertClassIf("OldClass",
               "stringParameter",
               "\"blue\"",
               "NewClass");

但 Dymola 2022x 只是将 类 标记为已修改,没有任何更改。