【发布时间】:2016-07-12 22:37:55
【问题描述】:
解决了。示例见回复。
我有一个装有孩子的容器。我需要删除所有的孩子。这在 C 中很容易。Vala 不起作用。
以下代码产生一个错误缺少集合的类型参数。
var a_box = new Box (Orientation.VERTICAL, 0);
// Add some children
List children = a_box.get_children();
foreach (Widget element in children) { }
我测试了此代码的 20 多种变体以及多种数据类型。当我没有收到缺少类型的投诉时,我最终会得到一个不能用作小部件的数据类型,这意味着我无法销毁它。
使用 Vala,而不是 C 或 Python 或任何容易做到这一点的许多语言,如何删除容器的所有子级?
据我所知,获取孩子的唯一方法是作为列表,但在 Vala 中,列表条目不能用于删除或销毁小部件。
删除和销毁 C 中的工作。我有几个基于 C 的应用程序同时执行这两种操作。 Vala 0.30 编译器拒绝从 C 到 Vala 的所有翻译,并拒绝编译来自 Valadocs 等的示例。
【问题讨论】:
-
Re: 来自valadoc的例子,你能提供任何具体的例子吗?我敢肯定 Florian 想知道任何损坏的例子……
-
@nemequ,我扩展了有关 Valadocs 和其他来源的内容。 Valadocs 需要 PHP cmets 之类的东西,人们可以在其中提供和讨论使用示例。