[Vala] delegates in vala
- From: Albert Hopkins <marduk letterboxes org>
- To: vala-list gnome org
- Subject: [Vala] delegates in vala
- Date: Wed, 13 Feb 2013 13:49:37 -0500
Some background: I'm currently learning vala by way of C#. Basically
I'm learning C# and "translating" what I learn to vala.
So I've come across delegates. From the C# book I'm reading they give
the example that looks basically like this:
MyDel del;
...
del = randValue < 50 ? new MyDel(program.PrintLow) : new
MyDel(program.PrintHigh);
Using the "Vala for C# Programmers"[1] guide I've translated this to:
MyDel del;
...
del = randValue > 50 ? program.PrintLow : program.PrintHigh;
However this gives me a compile error:
delegate.vala:21.32-21.47: error: Assignment: Cannot convert from
`Program.PrintLow' to `Program.PrintLow'
del = randValue < 50 ? program.PrintLow : program.PrintHigh;
^^^^^^^^^^^^^^^^
delegate.vala:21.51-21.67: error: Assignment: Cannot convert from
`Program.PrintHigh' to `Program.PrintHigh'
del = randValue < 50 ? program.PrintLow : program.PrintHigh;
^^^^^^^^^^^^^^^^^
delegate.vala:21.15-21.28: error: Incompatible expressions
del = randValue < 50 ? program.PrintLow : program.PrintHigh;
^^^^^^^^^^^^^^
Compilation failed: 3 error(s), 0 warning(s)
However a simple assignment works:
del = program.PrintLow;
So is the problem with the ternary expression? I also tried putting the
conditional expression in parens but that didn't make any difference.
Using Vala 0.18.1
[1] https://live.gnome.org/Vala/ValaForCSharpProgrammers
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]