在Vala中,是否可以声明像这样的函数
void do_something(object foo) { }
其中object
代表任何可能的类型,以便我可以例如将整数和字符串传递给此函数?
do_something("Foo Bar");
do_something(1234);
答案 0 :(得分:4)
如果您愿意,可以使用通用:
void do_something<T>(T foo) {}
但是你打算用你不能使用的价值做什么呢?
如果要存储它以便以后重构,可以使用GLib.Value,它将由编译器自动打包:
void do_something(Value foo) {}